日期:2014-05-17  浏览次数:20845 次

用户组权限分配的问题
通用的权限管理系统 数据关系图如下:

Systems存放需要权限管理的系统,
User是系统的用户。
由于公司有很多系统,但是用户还是公司的这些人,
所以系统和用户是多对多的关系。
UserGroup是用户组,
Roles是角色。
它们也是多对多的关系,
由于每个系统的用户组和角色相互独立、互不干涉,
所以系统与用户组和角色是一对多的关系。

现在有以下几点疑问:
一、从用户组表的设计中可以看到用户组可以包含子用户组,
假如父用户组分配了 Role1,Role2,Role3.
那么子用户组是不是只能从Role1,Role2,Role3中继承一个或多个角色?
还是可以有其它方案?
二、当用户在继承用户组的同时,有继承了单独的角色,它们之间的某些权限相互冲突请问该如何解决?

------解决方案--------------------
引用:
引用:
我觉得你这个设计有点混乱了……
角色即和用户组有关、又和用户有关,这一点我觉得很有问题,因为既然要对用户分组,那么权限就应该以组来划分,同组的人具备同样的权限
而且,既然用户组已经和system有对应的关系了,何必再弄个用户和system的关系呢?

system与用户的关系,只是为了快速查找用的,比如一个系统有哪些用户,一个用户使用了哪些系统.请无视吧- -!
……

这样的……
------解决方案--------------------
按照你表的设计来讲,用户组与系统本来就是多对一的关系,按照这种设计用户组A不可能同时属于ERP.和OA
------解决方案--------------------
User_System表不应该有,用户表直接引用TabUserGroup表就行了,
1.若要组2的权限在其父级组组1的权限内,大可以在给组2分配权限时只能选择组1所拥有的权限
2.组的角色与用户的角色应该是不同的定义,如果是相同的概念的话,那你大可以不用定义用户表,直接看用户属于哪个组,这两个角色表所代表的东西不应该冲突

------解决方案--------------------
好乱哦,你把系统设计得太复杂了吧  

权限表

用户组


用户