我一直在寻找有关如何使用用户角色制作典型网站 MVC 权限系统的教程。
我已经使用 SQL 和关系完成了这些事情,但在 nosql 数据库中,它的做法不同(我假设)。
我想到的是这样的
//Role objects
{Roles : [
{
'_id' : 'uniqueId',
'role_name' : 'admin',
'permissions_granted' : [array of permission strings]
},
{
'_id' : 'uniqueId',
'role_name' : 'user',
'permissions_granted' : [array of permission strings]
},
{
'_id' : 'uniqueId',
'role_name' : 'guest',
'permissions_granted' : [array of permission strings]
}
]}
//User objects
{Users: [
{
'_id' : 'uniqueId',
'username' : 'mike',
'password' : 'mypass',
'permissions' : [an instance of role group, or its id ? ]
},
{
'_id' : 'uniqueId',
'username' : 'jonny',
'password' : '123',
'permissions' : [???]
}
]}
我怎么能做一个单一的查询来获取用户数据+它的权限?使用 2 个查询是否有缺点,一个是获取用户的角色 ID,然后从角色文档中获取权限。? 在 mongodb 等 nosql 数据库中如何处理用户权限