gpt4 book ai didi

Node.js Express - 阻止访问某些 URL

转载 作者:太空宇宙 更新时间:2023-11-04 03:09:28 25 4
gpt4 key购买 nike

我想阻止未登录的人访问任何以“/users”开头的网址

这是我当前的代码:

app.use('/^users*',function (req, res, next) {
if (checkAuth(req)) {
console.log('authorization OK');
next();
} else {
console.log('authorization failed');
res.redirect('/login');
}

});

function checkAuth(req) {
console.log('req',req.url);
if (!req.session.user_id && req.url !== '/login' && req.url !== '/') {
return false;
}
return true;
};

但是我的正则表达式不正确。我找不到与“以 'user' 开头的所有内容”匹配的正则表达式。这应该很容易,但事实证明比预期更困难。

根据 Express API 文档:

// will match paths starting with /abcd
app.use('/abcd', function (req, res, next) {
next();
})

最佳答案

app.all('*/users/*', requireAuthentication, function (req, res, next){

});

上述路由将捕获从用户开始的所有类型的请求,将通过requireAuthentication函数,然后在next()上执行以下函数。

关于Node.js Express - 阻止访问某些 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27466468/

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