我目前正在实施这样的许可:
Permission UserPermision User
------------------- ---------------------- -----------------
PNAME PID PID UID PVAL UID UNAME
这个概念很好,但在某些时候,我们会想要添加一个权限分组,如admin,guest,power user或类似的东西。
有人可以向我推荐一个提升当前Permission数据库以实现权限分组的好方法吗?
提前致谢
答案 0 :(得分:2)
仅授予角色权限。 (如果你想非常喜欢将它赋予角色或用户ID,但它在维护时会变得噩梦,因为它会缩放)。
因此perms将n-n映射到角色,角色将n-n映射到用户。
Permission
-------------------
PNAME PID
User Role
-------------------
UID ROLEID
Optional Role
-------------------
ROLEID ROLE_INFO
Permision Map
----------------------
PID ROLEID PVAL
User
-----------------
UID UNAME
答案 1 :(得分:1)
另一种方法是引入新的Group表并创建GroupPermissions / UserGroups表,以将权限映射到特定组和该组的用户。然后,您可以根据需要使用UserPermissions组包含个人权限(在组权限之上)
Groups
------
GID GNAME
GroupPermissions
----------------
GID PID
UserGroups
----------
UID GID
GroupPermissions - GID / PID将组成唯一的行标识符,以确保您可以将多个权限关联到单个组。
UserGroups - UID / GID将组成唯一的行标识符,以确保您可以将多个组关联到单个用户。
答案 2 :(得分:0)
您可以enable开发数据库以“记住”它对不同对象的权限,并在开发时保留它们,无论您丢弃多少次并创建一个对象......