gpt4 book ai didi

javascript - express.js - session 访问中间件不工作

转载 作者:行者123 更新时间:2023-11-30 06:24:52 24 4
gpt4 key购买 nike

我正在尝试使用 JS、Express 和 Session 创建一个中间件,其中根据 session 是否存在来阻止对某些页面的访问。这是我试过的:

function validateAdminLogin(req,res,next) {
if(req.session.adminId) {
next()
} else {
res.redirect('/signIn')
}
}

app.all('/admin/*',validateAdminLogin,function(req,res,next){
next()
})

在没有事件 session 的情况下尝试访问/admin 下的任何页面后,代码仍在访问/admin 文件。

最佳答案

确保在任何/admin 端点之前添加以下代码段。

function validateAdminLogin(req,res,next) {
if(req.session.adminId) {
next()
} else {
res.redirect('/signIn')
}
}

app.all('/admin/*',validateAdminLogin,function(req,res,next){
next()
})

例子:

app.get('/admin/test2', (req, res) => {
res.send('Not affected by middleware')
})

app.all('/admin/*', validateAdminLogin)

app.get('/admin/test', (req, res) => {
res.send('Affected by middleware')
})

关于javascript - express.js - session 访问中间件不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51090298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com