用户权限存储在数据库中

时间:2016-04-05 09:25:27

标签: sql sql-server database

我正在开发一个具有用户权限的Webapp。用户权限应存储在数据库中,我现在对如何使用感到困惑。

我想到了使用#"普通"等标志的可能性。应用

0 - NoRights 
1 - User
2 - Support 
4 - Finance 
8 - Admin

然后,实际权利将由一个或多个添加的数字组成。 具有支持权限的用户将使用户 3

数据库moddeling中存储用户权限的最佳做法是什么?

我正在使用Microsoft SQL Server 2008R2,但我想这个问题有一个数据库无关的答案

修改

这里有一些资源我在路上找到了,并得到了回答和评论的人的帮助。

Best Practice for Designing User Roles and Permission System?

https://security.stackexchange.com/questions/63518/mac-vs-dac-vs-rbac

1 个答案:

答案 0 :(得分:3)

这是多对多的关系。这意味着一个用户可以拥有多个角色,一个角色可以附加到多个用户。

即user1可以拥有角色1和4,而角色1可以由user1和user2保留。

这通常使用桥表建模,即“

用户(userId,名称) 角色(roleId,description)

UserRole(userId,roleId)

https://en.m.wikipedia.org/wiki/Many-to-many_(data_model)

希望这有帮助