【发布时间】:2017-04-12 07:30:28
【问题描述】:
我有 3 个文件:app.js、index.js(路由)、Users.js(控制器)
一旦我的用户登录(在 POST 信息和 DB 之间完成验证),我想使用 expressjs/session 将数据保存在会话中。
这是我在 app.js 中的会话声明:
var session = require('express-session');
app.use(session({
resave: true,
saveUninitialized: true,
secret: 'trolololo'
}));
这是我的路线:
router.post('/login', function(req, res, next) {
Users.login(req, res);
});
router.get('/getSessionInfos', function(req,res,next){
console.log(req.session);
});
这里是登录控制器:
login : function(req, res){
var formEmail = req.body.email;
var formPassword = req.body.password;
User.findOne({ where: {email: formEmail} }).then(function(user) {
if(user){
if (user.password == formPassword){
console.log('User connected');
req.session.email = formEmail;
req.session.password = formPassword;
console.log(req.session);
res.status(200).send('User Authentified');
}else{
res.status(401).send('Invalid Password');
}
}else{
res.status(401).send('Username');
}
});
},
登录工作我得到 200 状态,登录功能中的 console.log 显示一个带有我的信息的功能。但是当我尝试从 /getSessionInfos URL 获取我的会话时,它是空的......请发送帮助
【问题讨论】:
-
是
/getSessionInfos中的全部代码吗?你只输出到控制台,你不返回任何东西 -
好吧,我假设从 expressjs/session 文档中始终通过 req.session.something 获取会话,正如我所说,我得到了会话对象,但它是空的。但是是的,这就是 /getSessionInfos 中的全部内容
标签: javascript node.js session express request