Brá*_*edo 2 session login node.js express
首先抱歉我的英语不好.我正在学习,我正在做一个学术项目并遇到了一个问题.我记不起会话变量了.
的package.json
"dependencies": {
"body-parser": "^1.7.0",
"ejs": "~1.0.0",
"express": "^4.8.7",
"express-session": "^1.11.3",
"ini": "^1.3.4",
"mysql": "^2.8.0",
"winston": "^1.0.1"
}
Run Code Online (Sandbox Code Playgroud)
server.js
var express = require('express');
var session = require('express-session');
var app = express();
...
require('./router/main')(app, language, connection, logger);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
app.use(express.static(__dirname + '/public'));
app.use(session({
secret: 'pecuniamsekretsession',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}));
Run Code Online (Sandbox Code Playgroud)
main.js
module.exports = function(app, languageItems, connection, logger) {
app.post('/', require('../router/login.js')(languageItems, connection, logger));
app.get('/', require('../router/login.js')(languageItems, connection, logger));
}
Run Code Online (Sandbox Code Playgroud)
login.js
module.exports = function (language, connection, logger) {
var routerTemplateLogin = function (req, res) {
var utils = require('../utils/utils');
var util = new utils.Util;
// It does not work :-(
logger.debug(req.session);
req.on('data', function(data) {
var arrayPost = util.postDataToArray(data);
});
res.render('pages/login.ejs', {
lang: language
});
}
return routerTemplateLogin;
}
Run Code Online (Sandbox Code Playgroud)
在login.js中看到// It does not work :-(.完整的项目在https://github.com/braulioti/pecuniam
谢谢
问题是路由是在任何其他中间件之前设置的.移动这一行:
require('./router/main')(app, language, connection, logger);
Run Code Online (Sandbox Code Playgroud)
在这之后:
app.use(session({
secret: 'pecuniamsekretsession',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}));
Run Code Online (Sandbox Code Playgroud)
在你的server.js.
| 归档时间: |
|
| 查看次数: |
1957 次 |
| 最近记录: |