即使用户使用后退按钮也重定向 (Node.js)
Redirect even if user uses back button (Node.js)
我用 jwt 制作了一个登录系统,基本上,如果登录 (homepage/login) 成功,用户将重定向到主页 (homepage/)。之后,即使用户在 url 中键入 (homepage/login),他们也会被重定向回主页,因为(只要)他们拥有 jwt 令牌。
我有以下代码:
app.get('/login', (req, res) => {
const token = req.cookies.jwt
if(token) {
res.redirect('/')
} else {
res.render('login')
}
})
但是,如果用户通过“后退按钮”转到 (homepage/login),即使他们拥有令牌,也不会再被重定向。
如果按下后退按钮,如何包含重定向?
客户端正在重定向。
因此,只需包含一个前端 javascript 代码来检查令牌是否存在。如果不存在,重定向。
在 html 代码中,将此脚本包含在 head 标记中(假设您使用本地存储来存储令牌:
<html>
<head>
..
..
<script>
const token = localstorage.getItem("token");
if(token == null) {
window.location.replace("-path-to-home-page-");
}
</script>
</head>
<body>
..
..
..
</body>
</html>
我用 jwt 制作了一个登录系统,基本上,如果登录 (homepage/login) 成功,用户将重定向到主页 (homepage/)。之后,即使用户在 url 中键入 (homepage/login),他们也会被重定向回主页,因为(只要)他们拥有 jwt 令牌。
我有以下代码:
app.get('/login', (req, res) => {
const token = req.cookies.jwt
if(token) {
res.redirect('/')
} else {
res.render('login')
}
})
但是,如果用户通过“后退按钮”转到 (homepage/login),即使他们拥有令牌,也不会再被重定向。 如果按下后退按钮,如何包含重定向?
客户端正在重定向。
因此,只需包含一个前端 javascript 代码来检查令牌是否存在。如果不存在,重定向。
在 html 代码中,将此脚本包含在 head 标记中(假设您使用本地存储来存储令牌:
<html>
<head>
..
..
<script>
const token = localstorage.getItem("token");
if(token == null) {
window.location.replace("-path-to-home-page-");
}
</script>
</head>
<body>
..
..
..
</body>
</html>