SNF快速开发平台2019-权限管理模型简介-权限都在这里

1.1    权限的概念

权限是指为了保证职责的有效履行,任职者必须具有的,对某事项进行决策的范围和程度。它经常用“具备批准……事项的权限”来进行表达。例如,具备批准预算外5000元之内的礼品费支出的权限。再有划分了系统的职权,不一样的用户拥有不一样的职权划分,在职权划分的基础上对职能范围进行了限制。html

权限管理,通常指根据系统设置的安全规则或者安全策略,用户能够访问并且只能访问本身被受权的资源,权限管理几乎出如今任何系统里面,只要有用户和密码的系统。spring

1.2    使用权限管理的必要性

权限管理对于商业信息化是有很大的帮助,它赋予了分配权力的能力,让您的工做分担给全部人,从而让更多的人参与到您的管理当中。这样的作法既能够提高工做效率还能够作到工做区域承担,让应该承担管理责任的人参与管理,这是商业信息化必需要有的,也是信息化发展必然的结果。安全

1.3    模块菜单是什么

模块资源受权也称菜单控制,由业务功能模块列表和用户菜单定制共同组成。每一个用户能够拥有本身的菜单,也能够直接采用角色缺省菜单(当用户同时充当多个角色且权限重复时,重复的权限仅一次有效)。框架

1.4    动做按钮是什么

动做权限分配也叫对象控制,对象是指应用系统窗口中的可视对象,如菜单项、按钮、下拉列表框、操做事务等。优化

控制动做是经过角色与用户受权来实现的。主要是对象属性的控制(使能、禁止,可视、屏蔽)。htm

1.5    记录级权限(数据权限)是什么

记录级权限控制:简单说就是一种档案中有不少数据,而不一样的人员可以看到不一样的档案,也就是说一部分数据档案只有一部分人看到,另一部分档案只有另一部分人看到。举个栗子:像客户档案,在一家公司中,有不少销售助理,而不一样的销售助理只管理各自的客户,别的助理的客户我不须要看到和维护,故系统中控制记录级权限—客户档案便可。对象

在咱们的平台上有两种记录级权限控制:blog

一、       经过分级管理能控制管理者管理的人员,如职能、临时组织、师傅管徒弟等场景。在每一个业务表内规范都有建立人、修改人能够控制能看到哪些人的数据。继承

二、       能够直接经过记录级权限配置,人员直接能访问的数据,如金额>1000元、部门=当前人的部门等。接口

 

1.6    字段级权限是什么

字段级权限控制:仍是以客户档案为例,当一个客户档案有多我的维护或者一个客户档案咱们要控制不一样的人看到这个客户档案中具体的信息字段不一样,咱们就须要勾选字段级权限控制了。

1.7    权限主体的分类

权限系统中的权限三元组概念,即Who(主体),What(资源),How(操做),这样构成了权限三元组,无论你的权限系统多么的复杂,其实核心都是这三个。

概念:
Who:权限的拥有者或主体(Principal、User、Group、Role、Actor等等)
What:权限针对的对象或资源(Resource、Class)。
How:具体的权限(Privilege,正向受权与负向受权)。
Role:是角色,拥有必定数量的权限。
Operator:操做。代表对What的How操做。

上面介绍的是What、How,下面介绍一下Who。

1.7.1  角色权限

角色,必定数量的权限的集合,是粗粒度和细粒度(业务逻辑)的接口。一个基于粗粒度控制的权限框架软件,对外的接口应该是角色,具体业务实现能够直接继承或拓展丰富角色的内容,角色不是如同用户或组织的具体实体,它是接口概念,抽象的通称。角色的继承经过组织来体现,因此不考虑角色的继承关系。可是角色能够与相关的组织相关联,便于受权。

该权限模型基础是RBAC模型。每一个用户拥有若干角色,每一个角色拥有若干权限,构成“用户-角色-权限”的受权模型。本程序完成了RBAC3,最复杂也是最全面的RBAC模型,它在RBAC0的基础上,将RBAC1和RBAC2中的优化部分进行了整合。

1.7.2  用户权限

用户的权限是多方面的,有用户直接配置的权限,用户-权限。所归属角色的权限,用户-角色-权限。还有所在组织权限,用户-组织-权限。还包含岗位权限,用户-组织-岗位-权限。最终是以权限来实现对资源的访问控制。

1.7.3  组织机构权限

组织,权限分配的单位与载体,直接映射组织关系。权限不考虑分配给特定的用户。组织能够包含用户,组织内用户继承组织的权限。组织要实现继承。即在建立时必需要指定该组织的父级组织是什么组织。在粗粒度控制上,能够认为,只要某用户直接或者间接的属于某个组织那么它就具有这个组织的全部操做许可。细粒度控制上,在业务逻辑的判断中,用户仅应关注其直接属于的组织。

1.7.4  岗位权限

识别用户的主要身份。一我的可能身兼多职(多个角色),可是他的主要职能是固定的,那怎么告诉系统用户的主要职能是什么呢?答案就是:经过岗位!拿小马哥举例:小马哥身兼经理和财务两种身份,但他的本职工做是“经理”,所以,他的系统岗位应该“经理”。当他登陆时,系统会识别他的身份为“经理”,只不过这个“经理”恰好兼具了其余岗位的职能而已;

经过“组织-岗位”关联,快速甄别用户岗位。公司在不断地发展的过程当中,系统的用户角色也会不断增长,当角色达到必定数量之后,管理员每新增一个用户都要花至关的时间去寻找角色。引入岗位后,可将组织和岗位、岗位和角色提早进行关联,配置帐号时,管理员只要选定组织,系统就给出与该组织关联的岗位,而这些岗位,又是提早关联好角色的,选择起来,既方便又高效!

1.8    分级受权

1、假设一个场景:一个业务系统,用户为国家环保部、省级环保局、地市环保局 三级;若是统一由国家环保部维护全部的部门、用户信息,工做量太大,

且环保部的系统管理员没法详细了解省级、地市的人员信息、角色信息,根本无从维护。

因此须要分级管理,即针对不一样组织(部门)设置管理员,每一个管理员仅维护本组织的人员、角色信息,如

一、国家环保部的管理员仅维护部里的部门、人员、角色

二、北京市的管理员仅维护北京市环保局的部门、人员、角色

三、河北省的管理员仅维护河北省的部门、人员、角色

四、石家庄市的管理员仅维护石家庄市的部门、人员、角色

固然还有化妆品、药品、零售、快递、建筑等行业也须要分级管理。

2、分级权限管理模型

当前企业管理在运行中遇到的主要问题是职责明确,分级受权管理模式可以明确各级管理者的权限和职责。

管理模式主要包括用户-角色分配管理、角色-权限分配管理和角色-角色分配管理,管理的范围依赖于角色的继承关系。在分层管理模式中引入了用户和权限的概念,构造组织结构,从新定义角色和用户,有效解决管理权限的分配问题。

3、开启和不启用分级受权分级管理

在大型组织中分级受权的管理模式能很好的把各个级别管理人员的权利和责任都明确的展示出来,并且方便了人员的管理。

但分级受权分级管理却不使用中小型公司,过于繁琐,浪费大量的管理成本。因此本系统可根据您的实际状况进行配置。

分级管理在程序中到底有什么不一样呢?

用户的管理权限是不一样的,不启用时用户管理权限无限制(权限范围是当前公司的全部管理权限),启用时用户管理权限有限制(权限范围是当前用户可管理的权限)。

下面是一个简单的图例,简单阐述了启用和不启用的区别:

用户A是X公司G部门担任开发角色。

 

其它权限实践系列文章:

  一、角色、权限、帐户的概念理解-很是全的理论讲解权限控制 http://www.javashuo.com/article/p-opdqilbw-mh.html

  二、权限管理模型简介-权限都在这里  http://www.javashuo.com/article/p-rpcqepwb-mk.html

  三、权限管理模型实践-权限都在这里 http://www.javashuo.com/article/p-alutacwb-mm.html

  四、权限管理模型-平台服务(多平台\多组织\SAAS\多系统) http://www.javashuo.com/article/p-ttssgzsf-mo.html

  五、权限管理模型-记录级-字段级权限实践 http://www.javashuo.com/article/p-gmzxnrhu-mk.html

  六、用户安全控制-权限管理模型实践-权限都在这里 http://www.javashuo.com/article/p-qrkcjxnr-mn.html

       七、SNF快速开发平台成长史V4.5-Spring.Net.Framework-SNF软件开发机器人 http://www.javashuo.com/article/p-prbltqyl-hp.html

  八、Spring.Net.FrameworkV3.0 版本发布了,感谢你们的支持 http://www.javashuo.com/article/p-ypjknwfp-kw.html

相关文章
相关标签/搜索