基于角色的用户权限设计的问题,大家探讨下

希望和大家探讨一下基于角色的用户权限设计的问题
我的初步想法如下:
SqlServer的库
设计表:
Users     用户表   字段:userid,username,userpermission
Roles     角色表   字段:roleid,rolename,rolepermission
UserInRole   用户角色对应表   字段:userid,roleid
PermissionList   权限列表   字段:permissionid,permissionDescription,permissionGroup

权限设计:许可、禁止和未设置三种状态,Allow,Deny,Not Set

目标:
实现用户权限的定义。
首先定义角色权限,用户与角色间是多对多的关系。用户权限继承自角色权限。
情况一:用户所属的多个角色存在权限冲突时,取最小权限,即某权限角色A许可,角色B禁止,则该权限为禁止。
情况二:用户所属的角色均未对某权限进行设置时,即NotSet状态,则该权限同DENY
情况三:用户所属的角色对某权限为许可时,也可单独设置该权限为禁止。

功能:
设置用户权限:
  默认情况下,用户权限继承自所属角色的权限
  可单独设置某用户的权限
扩展权限
  权限定义可随时增加,并可以分组。当增加权限时,默认的角色权限均为未设置状态

posted @ 2010-06-21 15:50  小丑鱼1  阅读(401)  评论(0编辑  收藏  举报