node.js - 自动重定向登录用户nodejs Passport.js

标签 node.js express passport.js

目前使用node.js、express 和passport.js 创建自定义网站/应用程序。

遵循几个指南后,我有了一个具有身份验证功能的登录/注销系统。但是,如果用户重新访问并且他们的 session 仍然处于事件状态,它不会将他们重定向到“仪表板”。

当前根路由:

   /* GET login page. */
    router.get('/',function(req, res) {
        // Display the Login page with any flash message, if any
        res.render('index', { message: req.flash('message') });
    });

我正在使用 isAuthenticated 函数,如下所示:

var isAuthenticated = function (req, res, next) {
    if (req.isAuthenticated())
        return next();
    res.redirect('/');
}

如何让它自动重定向现有 session 的用户?欢迎任何指点!

最佳答案

好吧,我明白了。在/路由中,我查询了是否设置了req.user

/* GET login page. */
router.get('/',function(req, res) {
    if(req.user){
        res.redirect("/dashboard");
    }else{
    // Display the Login page with any flash message, if any
    res.render('index', { message: req.flash('message') });
    }
});

关于node.js - 自动重定向登录用户nodejs Passport.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30038340/

相关文章:

node.js - 在 express 中添加故意延迟

node.js - 如何在 React/Redux 中显示来自 Node/Express 的自定义错误消息?

node.js - 在 Express 中使用 app.set 与 app.value

node.js express + aws elb - 从 http 重定向到 https 不起作用

javascript - 无法使用 Passport 登录 - Nodejs

node.js - 如何使 passportjs google login oauth 与 JWT 一起工作,而不是通过序列化/反序列化方法创建 session ?

javascript - 在 Node js 中使用动态参数为 URL 提供静态文件,无需任何库或框架

mysql - 如何在express.js中使用sequelize在mysql表中插入数据

javascript - RabbitMQ:是否可以在队列为空时删除队列?

node.js - npm install -g <package> 错误 EADDRINUSE