博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一种基于主客体模型的权限管理框架
阅读量:5957 次
发布时间:2019-06-19

本文共 992 字,大约阅读时间需要 3 分钟。

用户权限体系,在大多数的应用系统中都是需要的。而用户权限体系在不同的应用场景,其适应要求也都有不同。因此,要做一个普适性较好的权限管理系统是非常困难的。  为此,本文提出一种新的权限管理及分配模型,即兼顾通用性,又兼顾应用的个性化。 

1.基本概念的抽象
在权限框架中,有用户、角色、组织机构、部门、岗位、菜单、操作、功能等等,甚至组织机构还要分成几个维护,有行政维护、账务维度等等,把这么复杂的模型在一个系统中都实现,会有以下几种情况出现: 
a.这个太好了,正是我要的(命中概率约为0)
b.功能还不错,有些设计超出了我的应用范围,但是我有些功能用不上(概率10%)
c.功能都是我要的,有些设计不足,需要进行一些扩展(概率10%)
d.功能有一部分不是我要的,有一部分不满足我要的功能(概率80%) 
这也是目前我们的应用现状。 
仔细分析上面的一些概念,有且不仅限于上面列出的内容,通过分类,可以划分为两个群体,权限主体和权限客体。
所谓权限主体,就是可以拥有权限的概念,如:用户、角色、岗位、部门、机构等;所为权限客体,就是可以被用来进行权限控制的概念,如:菜单、功能、操作等。 
通过抽象权限主体和权限客体,就可以把复杂的权限模型简化成权限主体与权限客体之间的关系。管你有多少种权限主体,不管你有多少权限客体,都在我的圈圈里面,这样适应性自然不是一般的好。 
2.权限检查的抽象 
实际应用当中,权限检查的方式,也是有许多种情况的,比如: 
允许方式 :凡是允许的就可以执行,否则就不可以执行 
禁止方式:凡是禁止的就不可以执行,否则就可以执行 
允许优先方式:可以有禁止有允许,但是只要有允许就可以被执行 
禁止优先方式:可以有禁止有允许,但是只要有禁止就不可以被执行 
权限主体可继承方式,就是说权限主体被授权表示其下级的内容可以被授权 
权限客体可继承方式,就是说权限客体被授权的内容,代表其下级也被授权 
当然,还可以有N种方式,这个熟悉设计模式的同仁一眼就可以看出,这正好可以利用行为模式进行解决。 
当项目中的技术经理选择哪种授权模式的时候,只要配置或实现相应的策略即可。 
如此,就可以把权限框架中最复杂的两个部分分离抽象出来,你想要什么样的权限模型,需要什么样的授权策略,都可以充分适应。

转载于:https://www.cnblogs.com/j2eetop/p/4610482.html

你可能感兴趣的文章
采用ODAC,ODBC连接Oracle【转】
查看>>
多列等高布局
查看>>
C++语言基础(4)-构造函数和析构函数
查看>>
ASP.NET MVC下使用AngularJs语言(六):获取下拉列表的value和Text
查看>>
对计算机软件专业学生的忠告
查看>>
Visual Studio 2010 单元测试目录(转)
查看>>
【JS】引用类型之Function
查看>>
【CSS3初探之背景边框相关】奇葩的与老大吵了一架,奇葩的五分钟offer,奇葩的一天。。。...
查看>>
剑指 offer set 2 从头到尾打印链表
查看>>
Java信号量Semaphore
查看>>
电子邮件的正则表达式
查看>>
ios使用openUrl进行应用跳转
查看>>
MySQL: Set user variable from result of query
查看>>
JVM调优之jstack找出最耗cpu的线程并定位代码
查看>>
厉害了,我的李楠!魅蓝E3发布会要上演“打飞机”?
查看>>
拿下中国物流界奥斯卡三项大奖,京东X事业部还有哪些黑科技
查看>>
天猫11·11:蚂蚁金服如何用小团队支撑数亿人买买买?
查看>>
阿里总部对外解密双11超级工程背后的数据库技术
查看>>
通信厂商做路由器,能做成什么样?
查看>>
福建漳州海域一货轮沉没 11人获救1人失联
查看>>