gpt4 book ai didi

javascript - 设置访问权限的正确方法?

转载 作者:行者123 更新时间:2023-11-30 14:46:38 25 4
gpt4 key购买 nike

我正在创建一个用户管理系统 - 但是我目前发现自己在每个路由器基础上检查用户类型。

router.get('/admin/settings', (req, res) => {
if(admin) {
//Proceed.
}
}

router.get('/admin/users', (req, res) => {
if(admin) {
//Proceed.
}
}

有更好的方法吗?难道我不能像这样设置一条路线吗?

router.get('/admin*', (req, res) => {
if(!admin) {
res.status(404).send('Not found')
}
}

(试过没成功,感觉和其他路由冲突)

还有,类似的注意事项。我应该如何处理拒绝用户访问脚本的问题?我发送 404 还是 403?

最佳答案

您可以使用 Express 中间件函数:

router.use(function(req, res, next) {
if(admin) {
return next();
}

// We fail closed
return res.status(403).send('Forbidden');
});

// This won't get called if the middleware doesn't call next()
router.get('/admin/settings', (req, res) => {
// Do stuff
}

这里,只有当用户是 admin 时,我们才调用 next(),这允许调用继续。在此中间件之后添加的任何路由都将受到保护。

Also, on a similar note. How Am I supposed to handle denying a user access to a script?

此处 403 是合适的代码,但如果您希望对未经授权的客户端隐藏路由,也可以使用 404。我会建议 reading up on what each code is designed for .

关于javascript - 设置访问权限的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48814444/

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