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

用户权限体系,在大多数的应用系统中都是需要的。而用户权限体系在不同的应用场景,其适应要求也都有不同。因此,要做一个普适性较好的权限管理系统是非常困难的。

为此,本文提出一种新的权限管理及分配模型,即兼顾通用性,又兼顾应用的个性化。

1.基本概念的抽象
在权限框架中,有用户、角色、组织机构、部门、岗位、菜单、操作、功能等等,甚至组织机构还要分成几个维护,有行政维护、账务维度等等,把这么复杂的模型在一个系统中都实现,会有以下几种情况出现:

a.这个太好了,正是我要的(命中概率约为0)
b.功能还不错,有些设计超出了我的应用范围,但是我有些功能用不上(概率10%)
c.功能都是我要的,有些设计不足,需要进行一些扩展(概率10%)
d.功能有一部分不是我要的,有一部分不满足我要的功能(概率80%)

这也是目前我们的应用现状。

仔细分析上面的一些概念,有且不仅限于上面列出的内容,通过分类,可以划分为两个群体,权限主体和权限客体。
所谓权限主体,就是可以拥有权限的概念,如:用户、角色、岗位、部门、机构等;所为权限客体,就是可以被用来进行权限控制的概念,如:菜单、功能、操作等。

通过抽象权限主体和权限客体,就可以把复杂的权限模型简化成权限主体与权限客体之间的关系。管你有多少种权限主体,不管你有多少权限客体,都在我的圈圈里面,这样适应性自然不是一般的好。

2.权限检查的抽象

实际应用当中,权限检查的方式,也是有许多种情况的,比如:

允许方式 :凡是允许的就可以执行,否则就不可以执行

禁止方式:凡是禁止的就不可以执行,否则就可以执行

允许优先方式:可以有禁止有允许,但是只要有允许就可以被执行

禁止优先方式:可以有禁止有允许,但是只要有禁止就不可以被执行

权限主体可继承方式,就是说权限主体被授权表示其下级的内容可以被授权

权限客体可继承方式,就是说权限客体被授权的内容,代表其下级也被授权

当然,还可以有N种方式,这个熟悉设计模式的同仁一眼就可以看出,这正好可以利用行为模式进行解决。

当项目中的技术经理选择哪种授权模式的时候,只要配置或实现相应的策略即可。

如此,就可以把权限框架中最复杂的两个部分分离抽象出来,你想要什么样的权限模型,需要什么样的授权策略,都可以充分适应。

时间: 2024-11-01 06:15:17

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

基于web信息管理系统的权限设计分析和总结

1.权限的应用对象 上面我们已经定义了权限的范围,就是信息系统管理里面的表单操作,那么权限的应用对象就是表单,更进一步说,就是表达表单内容的web管理页面. 2.权限的分类 一个页面的权限范围分为以下几种,也可以叫做基本权限单位. l         操作权限:操作权限是一种页面级别的权限,也可以叫做页面权限.包括以下几种 n         新增 n         修改 n         删除 n         查询 在此基础上还可以进行更加详细的一些分类,比如查看他人记录的权限,修改他

基于概率主题模型的物联网服务发现

基于概率主题模型的物联网服务发现 魏强 金芝 许焱 针对物联网中服务数量的大规模性.服务描述的异构性以及设备服务的资源高度受限性和移动性等特点,提出了一种基于概率主题模型的物联网服务发现方法.该方法的主要特点是:1) 利用英文Wikipedia 构建高质量的主题模型,并对类似短文本的服务文本描述进行语义扩充,使主题模型能够更有效地估计服务文本描述的隐含主题:2) 提出利用非参数主题模型学习服务文本的隐含主题,降低模型训练时间:3) 利用服务隐含主题对服务进行自动分类和文本相似度计算,快速减少服务

基于RBAC模型的权限管理系统的设计和实现

摘要:提出了基于RBAC模型的权限管理系统的设计和实现方案.介绍了采用的J2EE架构的多层体系结构设计,阐述了基于角色的访问控制RBAC模型的设计思想,并讨论了权限管理系统的核心面向对象设计模型,以及权限访问.权限控制和权限存储机制等关键技术. 关键词:权限管理系统:角色:访问控制:RBAC模型:J2EE:LDAP 0 引言 管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁.构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的.权限管理系统是管理信息系统中可代码重

一种基于EMF模型的在GEF中判断创建连接线有效性的方法

简介: 结合目前比较受欢迎的 EMF(Eclipse Modeling Framework)和 GEF(Graphical Editing Framework)技术,提出了一种在图形化开发中创建连接线时普遍适用的验证方法. 最后给出了一个创建 连接线时动态 Schema 验证的例子,并根据 Schema 的定义列出创建连接线的真值表.针对该真值表的每 项进行验证,保证不符合 Schema 定义规则的模型对应的图形之间不能创建连接线,降低了 Schema 验证 和修改的复杂性. 一种基于 EMF

一种基于MapReduce的并行聚类模型

一种基于MapReduce的并行聚类模型 顾瑞春  王静宇 在对海量数据进行聚类的过程中,传统的串行模式局限性越来越明显,难以在有效时间内得出满意结果的问题,本文提出一种基于Hadoop 平台下MapReduce框架的并行聚类模型.理论和实验结果证明该模型具有接近线速的加速比,针对海量数据具有较高效率. 一种基于MapReduce的并行聚类模型

一种基于云平台的下一代互联网新型迁移模型

一种基于云平台的下一代互联网新型迁移模型 黄灿灿  朱永庆 分析现有接入网络在向IPv6迁移过程中所遇到的各种问题,设计一种新型的基于云平台的下一代互联网迁移模型.该模型通过在城域网边缘部署云计算平台给用户提供虚拟双栈主机,从根本上解决现有接入网络中海量设备以及千万级CPE改造升级所产生的问题,同时,优化了城域网P2P流量模型,极大地减缓了接入网压力. 一种基于云平台的下一代互联网新型迁移模型

DockOne微信分享(一三一):Juice——一种基于MesosFramework的任务云框架

本文讲的是DockOne微信分享(一三一):Juice--一种基于MesosFramework的任务云框架[编者的话]近年来,随着Mesos在生产环境中的普及,使大规模的集群管理变得简单,而基于MesosFramework开发的Juice框架,能够完成分布式任务的分发,处理,对于资源利用率的提高有很大的帮助,今天就为大家介绍一下这套框架. [3 天烧脑式容器存储网络训练营 | 深圳站]本次培训以容器存储和网络为主题,包括:Docker Plugin.Docker storage driver.D

mfc-做一个VC++ MFC系统,怎样可以在主界面根据用户权限隐藏和显示主界面的菜单选项,谢谢

问题描述 做一个VC++ MFC系统,怎样可以在主界面根据用户权限隐藏和显示主界面的菜单选项,谢谢 譬如说用户为管理员.老师.学生 用户为管理员.老师时,显示考勤管理按钮 用户为学生就隐藏考勤管理按钮 解决方案 首先,根据登陆的用户判断权限: 其次,根据不同的权限,显示不同的菜单项.这个需要用到"动态菜单"的技巧.如:VC++中动态生成菜单技巧如何动态添加菜单/菜单项.子菜单.右键菜单如何隐藏已有的菜单项? 解决方案二: 一种是动态添加需要的菜单,没有权限得不添加 一种是隐藏,菜单项有

一种基于机器学习的自动化鱼叉式网络钓鱼思路

2016年美国黑帽大会(BlackHat USA 2016)对与会的安全从业人员最关心的安全威胁进行调查,发现黑客们最关心的是:"Phishing,social network exploits, or other forms of social engineering ",该安全威胁占比46%,排名第一(2015年排名第二)[1]. 基于社会工程的网络虽攻击出现已久,一直是较为关注的一种有效攻击手段;尤其是鱼叉式网络钓鱼,因其成效显著且传统的安全性防御机制无法阻止这类攻击类型,仍然是