如何设计灵活的权限管理系统

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

...全文
66158 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
小屁孩_P 2014-06-10
  • 打赏
  • 举报
回复
mark 有时间看看
abis 2012-10-23
  • 打赏
  • 举报
回复
http://ext.abis.com.cn
csdn_风中雪狼 2012-10-23
  • 打赏
  • 举报
回复
参照windows的权限管理
diecode 2012-10-23
  • 打赏
  • 举报
回复
学习
以前参照windows系统设计
窗户纸 2012-10-23
  • 打赏
  • 举报
回复
哈哈,明天下班前结贴,有发表意见的尽快呀
窗户纸 2012-10-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
LS的大侠,你的系统有没有试用版的?我想看看。
[/Quote]
有呀,9个并发连接不限期限,就跟免费送一样
puzhijie网页能找到下载地址,40MB左右.
使用了.net framework2.0
jflanmay 2012-10-22
  • 打赏
  • 举报
回复
LS的大侠,你的系统有没有试用版的?我想看看。
窗户纸 2012-10-22
  • 打赏
  • 举报
回复
附上一个条件设置的截图:
窗户纸 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
我就只举一个例子吧,比如一个涉及到数据权限的查询,数据权限是一张地市表,就拿广东省的所有地级市为例吧,他存放在数据库的一张地市表中,
那么,A拥有的权限是只能查A所在市的数据,而B拥有的权限是查广东省所有地市的数据权限,你给他们分配好之后,系统运行了好长一段时间,现在,有了行政命令,在广东省新增了一个市,管理员维护了这张地市表,加上了一个市,请问,B能够动态的自动获取这个市的数据权限吗?只有一种……
[/Quote]
对于定制开发的软件,由于涉及因素很多,权限处理是很困难,但对于我的平台,这样的需求就非常容易处理:
1)我们将图纸业务看作一个业务流程,其与另一个业务流程行政区划(地/市等)有业务关联关系:及每个图隶属于一个行政区划。
2)行政区划业务中有一个步骤可以管理有权限的阅读人(相当与A).
3) 所有业务之上有一个总业务,与所有的行政区划、地图相关联,总业务中有一个步骤是管理总图阅读人(相当与B).

这样,我们在显示的地图视图中可以建立一个简单的筛选:我有权阅读的视图,其筛选条件为:
总图阅读人包括我
或 此图的对应行政区划的地图阅读人包括我。
这样就可以轻松解决地图访问权限问题,整个配置过程没有编写一行代码,
有关视图的配置说明见:http://www.puzhijie.com/support/handbook_5_6.aspx
有关条件配置说明见:http://www.puzhijie.com/support/handbook_5_5.aspx
niss 2012-10-21
  • 打赏
  • 举报
回复
我就只举一个例子吧,比如一个涉及到数据权限的查询,数据权限是一张地市表,就拿广东省的所有地级市为例吧,他存放在数据库的一张地市表中,
那么,A拥有的权限是只能查A所在市的数据,而B拥有的权限是查广东省所有地市的数据权限,你给他们分配好之后,系统运行了好长一段时间,现在,有了行政命令,在广东省新增了一个市,管理员维护了这张地市表,加上了一个市,请问,B能够动态的自动获取这个市的数据权限吗?只有一种方法,增加抽象权限,hoho,这下郁闷了,权限类型的划分越来越多,越来越复杂....,尤其是数据权限是随着需求的变化而变化的,有的系统可能一种数据权限都不需要,而有的系统,则会出现很多数据权限,什么单位权限啦,岗位权限啦,地域权限啦...无穷无尽
showjim 2012-10-21
  • 打赏
  • 举报
回复
看了你的博客明白你说的什么了。

我以前也设计过一个权限系统,参照的是windows,但是有一个不同的是:角色或组权限不是强制绑定的,只是用户权限的初始状态,所以可以任意调配权限,而且直观简单。
showjim 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
我曾经做过一段时间的运维,使用windows的目录系统进行权限管理,它在组的操作上建议域本地组与权限挂钩,全局组与用户挂钩,但仍然会存在大量的“专有角色”,它具有拒绝权限,但拒绝的优先级是最高的,只要有拒绝,该组成员立马全部歇菜。
[/Quote]
拒绝可以绑定到用户的吧
[Quote=引用 6 楼 的回复:]
任何一个人员组合都可以用多个已有角色合成
[/Quote]
windows也可以啊

可能是不还没能理解你说的,汗
窗户纸 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
我觉得windows的权限模式挺不错。
[/Quote]
我曾经做过一段时间的运维,使用windows的目录系统进行权限管理,它在组的操作上建议域本地组与权限挂钩,全局组与用户挂钩,但仍然会存在大量的“专有角色”,它具有拒绝权限,但拒绝的优先级是最高的,只要有拒绝,该组成员立马全部歇菜。
我的方法是“双向权限管理”,有两篇文章可参照:
http://blog.csdn.net/etudiant6666/article/details/6260502
http://www.puzhijie.com/product.aspx

说得简单些,就是对于每个权限,其权限队列中的每个权限项都有允许/拒绝设置,按照其在队列中的先后顺序进行权限计算。经过这样设置,任何一个人员组合都可以用多个已有角色合成,也就避免了众多“专有角色”加大运维人员工作量的问题了。
showjim 2012-10-21
  • 打赏
  • 举报
回复
我觉得windows的权限模式挺不错。
ssa 2012-10-21
  • 打赏
  • 举报
回复
支持一下,比较难
窗户纸 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
这个几乎是无解的,我也花过很大精力很多时间研究过,发现权限是在数据和程序逻辑上紧耦合的,很难有完美的方案,权限是由程序逻辑决定的,但却与后台数据紧密结合在一起,功能权限还好说,但数据权限就非常麻烦,尤其是动态数据的情况下,比如机构权限,如果涉及到机构的动态增删,权限也要动态随机构表变化,就很麻烦了
[/Quote]
你所指的紧耦合更多是业务的紧耦合,比如对于某用户需求,为客户投诉时要售后做,为产品咨询时要发给售前,假设中间要有某个操作,不进行特殊处理就很难通过架构来分拆不同人群,
我的做法是设计一个一整套的面向业务体系,在跳转时增加一个“动态操作人”设置项,这样就可以实现自动化的配置:

这里可以看到更多的资料:http://www.puzhijie.com/product.aspx
niss 2012-10-21
  • 打赏
  • 举报
回复
这个几乎是无解的,我也花过很大精力很多时间研究过,发现权限是在数据和程序逻辑上紧耦合的,很难有完美的方案,权限是由程序逻辑决定的,但却与后台数据紧密结合在一起,功能权限还好说,但数据权限就非常麻烦,尤其是动态数据的情况下,比如机构权限,如果涉及到机构的动态增删,权限也要动态随机构表变化,就很麻烦了
窗户纸 2012-10-21
  • 打赏
  • 举报
回复
这种系统的实现并不复杂,但给运维人员会带来更加灵活的操作能力 , 在http://blog.csdn.net/etudiant6666/article/details/8070634中,也有相应的应用。
是一款基于微软ASP.NET平台开发,集成内容发布、文章、产品、图片、招聘、留言、自定义模型、采集等功能于一体的企业级网站管理系统。 特点 可视化的管理网站内容和结构:自由的模块布局和组合设计灵活的内容调用、强大的自定义功能、所见即所得的编辑器等等功能在都体现了网站架构的自由和灵活,网站可以做得很简洁,也可以做得很复杂,完全可以根据自己需求来架设。 自由设计网站风格界面:系统采用div+css结构,遵循国际最新W3C网页设计标准,兼容IE6、IE7、火狐、Opera等主流浏览器,结构和设计的完全分离让网站界面想换就换。 周密的安全策略和攻击防护:对SQL注入攻击进行过滤、对密码进行了不可逆加密处理,提供数据库备份功能、对管理员权限的自由分配,在方方面面保证了系统的安全和稳定。 降低网站开发维护成本:由于CMS系统在中国的发展还在起步阶段,很多企业或单位开发一个网站需要动用大量的财力物力,不单单找网站公司开发时需要耗费,后期维护升级也需要。PageAdmin的问世改变了传统的网站建设流程,通过安装PageAdmin,任何用户都可以轻松的架设自己需要的网站。在给用户高效简单建站的同时还减少了总成本。 良好的用户口碑:PageAdmin在全国拥有10万以上用户、超过1年以上的的广泛应用,在安全性、稳定性、尤其自由灵活性方面得到大广泛的认可。 应用领域 主要应用于以下领域: 企业网站,无论大型还是中小型企业,利用网络传递信息在一定程度上提高了办事的效率,提高企业的竞争力; 政府网站,通过建立政府门户,有利于各种信息和资源的整合,为政府和社会公众之间加强联系和沟通,从而使政府可以更快、更便捷、更有效开展工作; 学校网站,通过网络信息的引入,使得教育机构之间及教育机构内部和教育者之间进行信息传递,全面提升教育类网站的层面;

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧