用户和用户组是多对多的关系,用户加入用户组就得到用户组的权限,但是怎么处理用户如果被从用户组删除了之后,用户权限的删改?因为,用户组中某一部分权限可能是重复的!
比如说U1用户在用户组:管理组和操作组中,管理组的权限是可以执行AA,BB,CC,DD;操作组的权限是BB,CC,EE,FF
用户U1加入后自动得到权限AA,BB,CC,DD,EE,FF,如果用户剔除了U1在管理组那么他的权限就只有BB,CC,EE,FF了!要解决这个问题时,你们怎么做,设计时是怎么来设计的?
比如说U1用户在用户组:管理组和操作组中,管理组的权限是可以执行AA,BB,CC,DD;操作组的权限是BB,CC,EE,FF
用户U1加入后自动得到权限AA,BB,CC,DD,EE,FF,如果用户剔除了U1在管理组那么他的权限就只有BB,CC,EE,FF了!要解决这个问题时,你们怎么做,设计时是怎么来设计的?
这样解决上述问题就变得相对简单,当用户所属的用户组发生变化后,在使用时只需重新核对该用户的用户组类型,然后找到该用户组所应拥有的权限。U1用户属于管理组(权限AA,BB,CC,DD)和操作组(BB,CC,EE,FF),由用户->用户组->权限得到U1用户拥有权限AA,BB,CC,DD,EE,FF,如果剔除了U1用户的管理组职权,不必关心管理组具体有哪些权限,在使用时,系统通过由用户(U1)->用户组(操作组)->权限(BB,CC,EE,FF),查得用户U1拥有权限BB,CC,EE,FF。
看看WINDOWS的拥护权限你就知道了;
用户权限的存放可以用:用户ID 功能点ID 的方式。
增加权限时,只要按以上的方法存放。
删除权限时,删除以上记录就可以了。
对于组或角色也可以用以上的方法。
但有一点要求:那就是要把所有的功能点进行集中管理,并且一个功能点对应一个ID号。以上的想法是有实践中使用过的,请大家发表意见。