如何将用户重定向到另一个页面?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将用户重定向到另一个页面?相关的知识,希望对你有一定的参考价值。
我遇到了一个问题。正如你可以从标题猜测,问题是我正在进行重定向循环。简单的情况,但作为一个初学者,我无法解决它。我将为您提供我的代码以查看问题。所以这是我的快递路由器`
const passport = require('passport');
module.exports = (app) => {
app.get('/auth/eventbrite',
passport.authenticate('eventbrite', {}));
app.get('/auth/eventbrite/callback',
passport.authenticate('eventbrite', { failureRedirect: '/' }),
(req, res) => {
if (!req.user) {
throw new Error('user null');
}
res.redirect('/dashboard');
});
app.get('/api/logout', (req, res) => {
req.session = null;
req.logout();
res.redirect('/');
});
app.get('/api/current_user', (req, res) => {
res.send(req.user);
});
app.get('/dashboard', (req, res) => {
console.log(req.user, 'user');
if (!req.user) {
res.redirect('/');
} else {
res.redirect('/dashboard');
}
});
};
您可以注意到我在护照身份验证和获取请求中都将用户重定向到/ dashboard。我的目标是防止用户在未经过身份验证的情况下访问仪表板。
答案
如果用户已登录并重定向到仪表板,则仪表板会再次将其重定向到仪表板。这创造了无限循环。相反,如果用户已登录,则仪表板路由应响应。很可能你想给他发送仪表板html页面。
以上是关于如何将用户重定向到另一个页面?的主要内容,如果未能解决你的问题,请参考以下文章