2009-10-14 46 views
0

林当前执行的权限是这样的:任何人都可以提出一种方法来为我执行权限分组吗?

Permission    UserPermision    User 
-------------------  ----------------------  ----------------- 
PNAME PID     PID UID PVAL    UID UNAME 

这个概念做工精细,但在somepoint,我们将要添加权限分组如管理员,来宾,超级用户,或者类似的东西。

任何人都可以向我建议一个很好的方法来解除当前权限数据库以实现权限分组吗?

在此先感谢

回答

1

一种替代可以是引入一个新的组表并创建一个GroupPermissions /群组表,以地图的权限的特定组和用户到该组。然后,您可以使用您的UserPermissions组包括单个权限如果需要的话(在组权限的顶部)

Groups 
------ 
GID GNAME 

GroupPermissions 
---------------- 
GID PID 

UserGroups 
---------- 
UID GID 

GroupPermissions - GID/PID将弥补这个唯一行IDENTIFER,以确保您可以将多个权限到一个关联组。

UserGroups - UID/GID将构成唯一的行标识符,以确保您可以将多个组关联到单个用户。

+0

这很不错,我想我会继续这个想法。感谢:) – DucDigital 2009-10-14 17:35:54

+0

是的,它基本上意味着你可以分配用户的组和权限预定义,但也包括特定用户的特殊权限。 – James 2009-10-14 17:49:44

2

只给予角色权限。 (如果你想非常喜欢将其赋予任何角色或用户标识符,但它在维护过程中随着它的扩展而变得噩梦)。

因此,将n-n映射到角色,角色映射n-n给用户。

Permission   
------------------- 
PNAME PID   

User Role 
------------------- 
UID ROLEID 

Optional Role 
------------------- 
ROLEID ROLE_INFO 

Permision Map   
----------------------  
PID ROLEID PVAL   

User 
----------------- 
UID UNAME 
+0

这是很好的走。你认为还有其他解决方案吗? – DucDigital 2009-10-14 17:11:13

+0

不,我不这么认为。顺便说一句,我的答案和你接受的答案之间有什么不同,我通过他们的正确名称,角色称呼了这些团体? – DVK 2009-10-14 18:13:17

0

你可以enable你开发数据库“记住”的权限,它在不同的对象了,并让他们在开发阶段,无论你删除,并创建一个对象如何,多少次......

相关问题