我对考亚很陌生。我想用用户和角色实现一个简单的管理面板。是否有任何可用的包来管理与考拉和重新思考数据库的角色。我正在使用考拉护照进行基本认证。
发布于 2016-02-04 16:29:26
你没有提供太多的信息,但我会尽力帮助你开始。
护照只用于身份验证,也就是登录/注销。
听起来,您需要一个授权系统(一个确定允许用户做什么的系统,比如如果允许用户查看管理面板)。此系统不需要访问您的身份验证系统。
最简单的解决方案是向用户表中添加一个role
字段,该字段总是设置为"ADMIN"
、"MEMBER"
(默认)或"BANNED"
。
使用Passport,如果用户登录,请将它们附加到请求:
if (user) {
req.user = user;
}
现在,在您的路由中,您只需检查user.role
以实现授权检查:
app.get('/admin', function(req, res) {
// Send a 403 Forbidden error if the user is not an ADMIN
if (!req.user || req.user.role !== 'ADMIN') {
return res.status(403).send('Unauthorized');
}
res.render('admin.html', { data: ... });
});
这是基于角色的授权系统的基础,尽管非常基本。
https://stackoverflow.com/questions/35200968
复制相似问题