一种基于主客体模型的权限管理框架

本文探讨了一种兼顾通用性和应用个性化的权限管理及分配模型。通过抽象权限主体和客体,简化复杂模型,同时提供了灵活的权限检查策略,以适应不同应用场景的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值