数据库权限设计

 权限表及相关内容大体可以用六个表来描述,如下: 

1 角色(即用户组)表:包括三个字段,ID,角色名,对该角色的描述; 
2 用户表:包括三个或以上字段,ID,用户名,对该用户的描述,其它(如地址、电话等信息); 
3 角色-用户对应表:该表记录用户与角色之间的对应关系,一个用户可以隶属于多个角色,一个角色组也可拥有多个用户。包括三个字段,ID,角色ID,用户ID;

 

菜单访问权限设置

4 菜单内容表:该表记录菜单条目内容。包括:ID,名称,描述,URL地址,IMAGE地址,排序字串(如00010001),其它

5 角色-菜单对应表:多对多关系,包括三个字段:ID,角色ID,菜单ID

6 用户-菜单对方清:多对多关系,包括三个字段:ID,用户ID,菜单ID

 

表格字段权限设置


4 限制内容列表:该表记录所有需要加以权限区分限制的数据表、功能和字段等内容及其描述,包括三个字段,ID,名称,描述; 
5 权限列表:该表记录所有要加以控制的权限,如录入、修改、删除、执行等,也包括三个字段,ID,名称,描述; 
6 权限-角色-用户对应表:一般情况下,我们对角色/用户所拥有的权限做如下规定,角色拥有明令允许的权限,其它一律禁止,用户继承所属角色的全部权限,在此范围内的权限除明令禁止外全部允许,范围外权限除明令允许外全部禁止。该表的设计是权限管理的重点,设计的思路也很多,可以说各有千秋,不能生搬硬套说某种方法好。对此,我的看法是就个人情况,找自己觉得合适能解决问题的用。

先说第一种也是最容易理解的方法,设计五个字段:ID,限制内容ID,权限ID,角色/用户类型(布尔型字段,用来描述一条记录记录的是角色权限还是用户权限),角色/用户ID,权限类型(布尔型字段,用来描述一条记录表示允许还是禁止)

原文:http://blog.163.com/lm_shan/blog/static/132846520061028101647621/

 

你可能感兴趣的:(数据库,数据库权限,数据库权限设置)