你的位置:首页 > ASP.net教程

[ASP.net教程]我的系统权限设计(有些疑问)


最近抽空写了小项目通用框架,这里要谈的是系统权限这块。

权限模块表结构设计如下:

t_sys_menu (菜单表)

t_sys_menu_power(菜单权限表,每个菜单页面有多个功能权限,如:增、删、改、查)

t_sys_role (角色表)

t_sys_role_power(角色权限关系表,多对多关系)

t_sys_user (用户表)

t_sys_user_role(用户角色关系表,多对多关系)

t_sys_user_power(用户权限关系表,用户特有权限,多对多关系)

t_sys_department(部门表)

关系图我就不画了,不擅长,说下我的思路就行了:

1.菜单是级联结构,细化到页面(bs结构),每个菜单有多个功能权限。

2.角色与角色之间是平等关系,也就是没有关系。每个角色拥有特有的菜单权限。

3.部门也是级联结构,部门在这里与菜单权限没有关系,只与用户能查看的数据有关系,比如分公司管理员只能管理自己分公司的用户和数据。

4.用户可以拥有多个角色,用户拥有角色决定他的菜单权限,用户也可以拥有特有权限(权限可直接分配给用户)。

那么,问题来了:

某用户给其他用户或角色配置权限的时候,肯定是只能配置自己已经拥有的权限,这是自然的,已实现。

可是,当他新增或修改一个用户时,给那个用户配了自己都没有的角色,那权限不是越配越大了? 

然后我想,让他给用户配角色也只能是自己拥有的不就行啦。仔细一想好像不科学啊。

那,这就是问题咯,各位大神有什么办法,求指教啊!!!

界面是这样的:

 

(用户角色管理-权限配置)

(用户管理)

(用户管理-用户权限配置)

(部门管理)

(菜单管理,这个页面是给自己用,方便开发)