expressjs内のデータ/セッションNodeJS保存する方法:私のユーザーがLOGGEDINあるPOST情報との間で行われ(検証たらapp.js、index.js(路線)、Users.js(コントローラ)私は3つのファイル持って
を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にmy in fos。しかし、私はそれが空である/ getSessionInfosのURLから私のセッションを取得しようとすると...助けを送ってください
は、 '/ getSessionInfos'のコード全体ですか?あなたはコンソールに出力するだけで何も返さない – Gntem
私はexpressjs/sessionのドキュメントから、セッションは常にreq.session.something経由でフェッチされていると想定しています。セッションオブジェクトを取得したとは言っても空です。しかし、はい、これはすべて/ getSessionInfosにあります。 –