我的应用中的会话有问题。我试图根据本教程学习Passport.js:http://www.sitepoint.com/local-authentication-using-passport-node-js/。我想要做的是只允许经过身份验证的用户访问。登录过程很有效,但是当我检查用户是否经过身份验证时,它总是说不是。怎么可能出错? 这是检查功能:
if (req.isAuthenticated()) {
return next();
else {
res.redirect('/');
}
以下是路由器的路径:
router.get('/secret', isAuthenticated, function(req, res) {
res.send('Welcome to the secret page');
});
我没有找到关于如何检查会话是否已建立,是否在何处以及等等的任何争议。
答案 0 :(得分:1)
试试这个,取自passport.js文件。
app.get('/secret', passport.authenticate('local'), function(req, res) {
// If this function gets called, authentication was successful.
// `req.user` contains the authenticated user.
});