数据库权限系统设计
最近设计,权限系统设计:1、同一个人P属于多个部门{属于a部的负责人(查看、执行[审批、归档之类的]的权限),a部下面有好几个子部门(查看、添加、修改、删除),a下的一部门a_b,暂时没有人,也由人P来负责部门a_b的事务,但不能操作a部门下其他部门的添加、修改、删除权限},这个怎么设计,不知道说明白没有?
首先不能对这个人设置两个账户什么的;也不能给他两个角色,登陆的时候选择进入的角色,因为,如果给他这两个角色,那么登录进来,就具有了可以操作a部门下其他部门了,是不对的。
2:对于数据权限的范围,以前做了userid对应数据主键的映射表,然后再去where条件in (数据主键),如果该用户的拥有的数据权限多的话,容易造成sql条件超长,后面,又对这个数据类型加了分组id,勉强可以解决,还有没有其他办法解决呢?
[解决办法]
我原来的解决方法是,有特殊权限的增加超级角色
[解决办法]
角色权限关系表
[解决办法]
抄现成的
[解决办法]
不是数据库层面能较好解决的,你考虑需要一个平台。在实际应用中,这可能是一个条件组合。
比如:制单人所属部门的科长可以审核,而需要有高工级别的。
[解决办法]