1.权限表,专门保存权限编码,权限类别,权限名称,次序。
编码是唯一标识
权限类别,把权限归类,比如办公审批属于一大类,里面有小类,比如加班审批,请假审批。
权限次序,多个权限归类到一个大类的时候,可能需要排序。

2.权限模型表,专门保存权限对应的页面,图标,次序,目标
对应的页面,比如点击二级菜单跳转到某个Default.aspx?PID=1页面
图标,菜单对应的显示图片。
次序,在一级菜单下显示二级菜单时,控制次序。
目标,控制在哪个页面打开,比如_blank或者_top

3.权限分配表,专门保存某个用户拥有哪些权限,用户编号,权限编号
以此来判断用户是否拥有某种权限。
当使用分组与角色的时候,权限分配到分组或者角色,再关联到用户。

4.用户分组,保存某一分组拥有的权限值。用户组编码,用户组名称,对应权限值。
比如
  group001     版主     role001
  group001     版主     role002
为某一分组设置权限值,然后关联分组下的用户,该分组的用户就都拥有这一类权限。
这里应该分开,一个分组表,专门保存分组编码,分组名称。
一个分组与权限关联表,保存分组编码,权限值。一对多关系。

5.角色表,专门用户保存建立的权限角色,角色编码,角色名称,次序。
当需要单独为某个人,或者某几个人设置权限的时候,需要建立角色

6.角色与用户关联表,用户ID,角色ID
新建角色的时候,如果关联了某个用户,就在此表中增加一条记录。

7.角色在操作上跟分组是一致的,分组是需要关联权限之外的,比如:
市场部,开发部,人事部,这是分组,在部门管理的时候,可以设置某个员工属于哪个部门,即哪个分组。
角色只是用来控制权限的,新建了角色,也是新建了一个分组,只是这里不涉及其他,只是来控制权限。

8.判断某个用户是否拥有某个权限的时候,先判断属于哪个分组,再判断这个分组是否拥有些权限。
再判断拥有哪种角色,或者拥有哪几种角色,再判断这几种角色是否拥有权限。

今天先思考到这里,这是我的不成熟思考,谁有通用简明的方法请不吝赐教。