首页 新闻 赞助 找找看

系统权限设计问题

0
悬赏园豆:50 [已解决问题] 解决于 2015-03-30 11:07

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

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

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.用户可以拥有多个角色,用户拥有角色决定他的菜单权限,用户也可以拥有特有权限(权限可直接分配给用户)。

那么,问题来了:

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

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

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

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

caiwang_net的主页 caiwang_net | 初学一级 | 园豆:157
提问于:2015-03-27 11:29
< >
分享
最佳答案
1

不知道你这是多大的一个系统,是不是打算服务于全人类的?

简单一点,有权限进行权限分配的人就是管理员,其他人没事别操那份闲心。

复杂一点,这已经得是集团公司级别的了,再考虑一个大神、N个小神就行了。

至于让所有人可以分配权限,那是吃饱了。

收获园豆:20
爱编程的大叔 | 高人七级 |园豆:30839 | 2015-03-27 11:37
其他回答(3)
0

楼上的正解,分配权限就一个管理员就行了。每个人都能分配权限,那还要权限管理干什么

收获园豆:10
茂茂 | 园豆:2892 (老鸟四级) | 2015-03-27 13:54
0

权限控制的目的是控制别人的权限,不是让所有人都可以进行权限控制。1楼的说的很对,没事别吃太多

收获园豆:20
| 园豆:780 (小虾三级) | 2015-03-28 17:45
0

如果权限要做继承分配,那就是

A创建的用户,角色权限只能<=A的权限范围。

 

另外,你这个数据权限怎么搞?同样是部门经理,A经理管A部门,B经理管B部门的情况。

再往深里,这个权限又怎么继承分配?

小彬 | 园豆:947 (小虾三级) | 2015-03-31 14:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册