Situasi semasa ialah terdapat kuki di sebelah penyemak imbas, namanya config.session.key('blog saya'), tetapi nilainya tidak akan berubah tanpa mengira sama ada anda log masuk atau tidak, dan jika anda sedang log masuk, tutup penyemak imbas dan cuba lagi Apabila anda membuka halaman, anda masih akan berada dalam keadaan "log masuk" Bagaimana cara ini dilaksanakan? ke pelayan Selepas pengesahan, pelayan kembali log masuk. Sila dalao jelaskan
index.js
app.use(session({
name:config.session.key,//设置cookie中保存session id的字段名称
secret:config.session.secret,//通过设置 secret 来计算 hash 值并放在 cookie 中,使产生的 signedCookie 防篡改
resave:false,//
saveUninitialized:false,//设置为 false,强制创建一个 session,即使用户未登录
cookie:{
maxAge:config.session.maxAge,//过期时间
},
store:new MongoStore({//将session存储到mongodb
url:config.mongodb//mongodb地址
})
}));
log masuk pengguna signin.js
router.post('/', checkNotLogin, function(req, res, next) {
var name = req.fields.name,
password = req.fields.password;
UserModel.getUserByName(name)
.then(function(user){
if(!user){
req.flash('error','用户不存在');
return res.redirect('back');
}
// 密码是否匹配
if(sha1(password)!==user.password){
req.flash('error','密码错误');
return res.redirect('back')
}
req.flash('success','登录成功');
delete user.password;
req.session.user = user;
res.redirect('/posts');
})
.catch(next);
});
Nilai kuki tidak diubah req.session disimpan di bahagian pelayan.