日期:2014-05-20  浏览次数:20787 次

数据库权限系统设计
最近设计,权限系统设计:1、同一个人P属于多个部门{属于a部的负责人(查看、执行[审批、归档之类的]的权限),a部下面有好几个子部门(查看、添加、修改、删除),a下的一部门a_b,暂时没有人,也由人P来负责部门a_b的事务,但不能操作a部门下其他部门的添加、修改、删除权限},这个怎么设计,不知道说明白没有?
首先不能对这个人设置两个账户什么的;也不能给他两个角色,登陆的时候选择进入的角色,因为,如果给他这两个角色,那么登录进来,就具有了可以操作a部门下其他部门了,是不对的。

2:对于数据权限的范围,以前做了userid对应数据主键的映射表,然后再去where条件in (数据主键),如果该用户的拥有的数据权限多的话,容易造成sql条件超长,后面,又对这个数据类型加了分组id,勉强可以解决,还有没有其他办法解决呢?

------解决方案--------------------
我原来的解决方法是,有特殊权限的增加超级角色
------解决方案--------------------
角色权限关系表
------解决方案--------------------
抄现成的
------解决方案--------------------
不是数据库层面能较好解决的,你考虑需要一个平台。在实际应用中,这可能是一个条件组合。
比如:制单人所属部门的科长可以审核,而需要有高工级别的。
------解决方案--------------------
探讨
用户表
角色表
用户角色关系表
权限表
角色权限关系表
特殊处理表

------解决方案--------------------
.net 再带membership
------解决方案--------------------
嗯,权限的系统设计学习了
------解决方案--------------------
特殊表可不要,放到权限表中做为特殊权限
------解决方案--------------------

------解决方案--------------------
帮顶。
------解决方案--------------------
http://www.noahweb.net/mail/2/Project.htm#biao