我已经搜索了一段时间,试图找到关于如何使用用户角色创建典型网站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' : [???]
}
]}
如何制作一个查询,可以获取用户数据和其权限? 使用两个查询有什么缺点,一个用于获取用户角色ID,另一个用于从角色文档中获取权限? 在像mongodb这样的nosql数据库中如何处理用户权限?