使用 Node.js 和 Express,我希望未登录的用户始终重定向到主页。实现这一目标的最简单方法是什么?理想情况下,我不必向每个路由添加代码来检查某人是否登录。
最佳答案
这取决于您如何定义“未登录”,但假设状态存储在 req.session
中。在这种情况下,您可以添加一个中间件,将未登录的用户重定向到登录页面:
app.use(function(req, res, next) {
if (req.path === '/loginpage') // pass requests for login page
next();
else
if (! req.session || req.session.isLoggedIn !== true) // check logged in status
res.redirect('/loginpage'); // redirect to login page when not logged in
else
next(); // else just pass the request along
});
app.get('/loginpage', function(req, res) {
res.send('login page');
});
关于node.js - 如何为未使用 Express 登录的用户实现默认路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15920269/