日期:2014-05-17  浏览次数:21024 次

如何设计灵活的权限管理系统
如下系统架构可以实现灵活的权限管理,包括:
1. 多身份管理的支持: 就像潜伏中的余责成所具有的双重身份一样,企业中实际存在大量多重身份的情况,某个员工如果既为销售部工作,又为采购部工作,他的汇报上级应该是各自业务的领导,多身份的支持允许企业实现这种需求。
2.角色的双重属性,在绝大部分软件中,角色只有包含(或者称隶属)关系,用于权限分配时,角色的下属角色都会拥有上级角色的权限,但实际企业应用中这种单一的所属关系使用起来很别扭,比如我们想构建一个组织结构图,总经理管理若干副总,不能让副总具有总经理的权限,为此,应该增加一种管理型下属角色关系,来实现这种需求。
3.计算机登录控制的实现,在安全级别较高的企业中,往往希望某些业务只在特定的计算机物理位置处理,这样我们就需要控制用户对计算机的登录能力,结合多身份管理,我们可以让用户的特定身份与计算机进行关联,这样就可以实现用户在处理特定业务时只能在特定计算机登录的安全需求。



------解决方案--------------------
这个几乎是无解的,我也花过很大精力很多时间研究过,发现权限是在数据和程序逻辑上紧耦合的,很难有完美的方案,权限是由程序逻辑决定的,但却与后台数据紧密结合在一起,功能权限还好说,但数据权限就非常麻烦,尤其是动态数据的情况下,比如机构权限,如果涉及到机构的动态增删,权限也要动态随机构表变化,就很麻烦了
------解决方案--------------------
支持一下,比较难
------解决方案--------------------
我觉得windows的权限模式挺不错。
------解决方案--------------------
探讨
我曾经做过一段时间的运维,使用windows的目录系统进行权限管理,它在组的操作上建议域本地组与权限挂钩,全局组与用户挂钩,但仍然会存在大量的“专有角色”,它具有拒绝权限,但拒绝的优先级是最高的,只要有拒绝,该组成员立马全部歇菜。

------解决方案--------------------
看了你的博客明白你说的什么了。

我以前也设计过一个权限系统,参照的是windows,但是有一个不同的是:角色或组权限不是强制绑定的,只是用户权限的初始状态,所以可以任意调配权限,而且直观简单。
------解决方案--------------------
我就只举一个例子吧,比如一个涉及到数据权限的查询,数据权限是一张地市表,就拿广东省的所有地级市为例吧,他存放在数据库的一张地市表中,
那么,A拥有的权限是只能查A所在市的数据,而B拥有的权限是查广东省所有地市的数据权限,你给他们分配好之后,系统运行了好长一段时间,现在,有了行政命令,在广东省新增了一个市,管理员维护了这张地市表,加上了一个市,请问,B能够动态的自动获取这个市的数据权限吗?只有一种方法,增加抽象权限,hoho,这下郁闷了,权限类型的划分越来越多,越来越复杂....,尤其是数据权限是随着需求的变化而变化的,有的系统可能一种数据权限都不需要,而有的系统,则会出现很多数据权限,什么单位权限啦,岗位权限啦,地域权限啦...无穷无尽
------解决方案--------------------
LS的大侠,你的系统有没有试用版的?我想看看。
------解决方案--------------------
学习
以前参照windows系统设计
------解决方案--------------------
参照windows的权限管理
------解决方案--------------------
http://ext.abis.com.cn