使用passport.js在node.js中登录前重定向到配置文件页面

时间:2016-01-27 10:47:40

标签: angularjs node.js express passport.js

我有2页http://localhost:3000/pages/auth/loginhttp://localhost:3000/pages/profile

当我提供登录详细信息时,它会转到个人资料页面,但在地址栏中会直接显示/ pages / profile。

我想要它登录页面。对于身份验证,我使用的是护照本地身份验证。

1 个答案:

答案 0 :(得分:0)

所有通行证都是将您的会话存储在服务器端。在您的前端,您需要拨打后端以查看您的会话是否仍处于活动状态。除非你从后端获得某种类型的响应,否则前端对后端一无所知。

这是假设您使用express.s与passport.js

您需要创建一个处理登录检查的功能



function isLoggedIn(req, res, next) {

    // if user is authenticated in the session, carry on 
    if (req.isAuthenticated())
        return next();

    // if they aren't redirect them to the home page
    res.redirect('/pages/auth/login');

}




您的后端路由应在发送检查请求时处理前端



app.get('/pages/profile', isLoggedIn, function(req, res) {
  // send them to the profile page
});