SNF快速开发平台2019-权限管理模型简介-权限都在这里
1.1 权限的概念
权限是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度。它常常用“具有批准……事项的权限”来进行表达。例如,具有批准预算外5000元以内的礼品费支出的权限。再有划分了系统的职权,不同的用户拥有不同的职权划分,在职权划分的基础上对职能范围进行了限制。
权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,权限管理几乎出现在任何系统里面,只要有用户和密码的系统。
1.2 使用权限管理的必要性
权限管理对于商业信息化是有很大的帮助,它赋予了分配权力的能力,让您的工作分担给所有人,从而让更多的人参与到您的管理当中。这样的做法既可以提升工作效率还可以做到工作区域承担,让应该承担管理责任的人参与管理,这是商业信息化必须要有的,也是信息化发展必然的结果。
1.3 模块菜单是什么
模块资源授权也称菜单控制,由业务功能模块列表和用户菜单定制共同组成。每个用户可以拥有自己的菜单,也可以直接采用角色缺省菜单(当用户同时充当多个角色且权限重复时,重复的权限仅一次有效)。
1.4 动作按钮是什么
动作权限分配也叫对象控制,对象是指应用系统窗口中的可视对象,如菜单项、按钮、下拉列表框、操作事务等。
控制动作是通过角色与用户授权来实现的。主要是对象属性的控制(使能、禁止,可视、屏蔽)。
1.5 记录级权限(数据权限)是什么
记录级权限控制:简单说就是一种档案中有很多数据,而不同的人员能够看到不同的档案,也就是说一部分数据档案只有一部分人看到,另外一部分档案只有另外一部分人看到。举个栗子:像客户档案,在一家公司中,有很多销售助理,而不同的销售助理只管理各自的客户,别的助理的客户我不需要看到和维护,故系统中控制记录级权限—客户档案即可。
在我们的平台上有两种记录级权限控制:
1、 通过分级管理能控制管理者管理的人员,如职能、临时组织、师傅管徒弟等场景。在每个业务表内规范都有创建人、修改人可以控制能看到哪些人的数据。
2、 可以直接通过记录级权限配置,人员直接能访问的数据,如金额>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、河北省的管理员仅维护河北省的部门、人员、角色
4、石家庄市的管理员仅维护石家庄市的部门、人员、角色
当然还有化妆品、药品、零售、快递、建筑等行业也需要分级管理。
二、分级权限管理模型
当前企业管理在运行中遇到的主要问题是职责明确,分级授权管理模式能够明确各级管理者的权限和职责。
管理模式主要包括用户-角色分配管理、角色-权限分配管理和角色-角色分配管理,管理的范围依赖于角色的继承关系。在分层管理模式中引入了用户和权限的概念,构造组织结构,重新定义角色和用户,有效解决管理权限的分配问题。
三、开启和不启用分级授权分级管理
在大型组织中分级授权的管理模式能很好的把各个级别管理人员的权利和责任都明确的展现出来,而且方便了人员的管理。
但分级授权分级管理却不使用中小型公司,过于繁琐,浪费大量的管理成本。所以本系统可根据您的实际情况进行配置。
分级管理在程序中到底有什么不同呢?
用户的管理权限是不同的,不启用时用户管理权限无限制(权限范围是当前公司的所有管理权限),启用时用户管理权限有限制(权限范围是当前用户可管理的权限)。
下面是一个简单的图例,简单阐述了启用和不启用的区别:
用户A是X公司G部门担任开发角色。
其它权限实践系列文章:
1、角色、权限、账户的概念理解-非常全的理论讲解权限控制 https://www.cnblogs.com/spring_wang/p/10954370.html
2、权限管理模型简介-权限都在这里 https://www.cnblogs.com/spring_wang/p/10983935.html
3、权限管理模型实践-权限都在这里 https://www.cnblogs.com/spring_wang/p/10983969.html
4、权限管理模型-平台服务(多平台\多组织\SAAS\多系统) https://www.cnblogs.com/spring_wang/p/10983991.html
5、权限管理模型-记录级-字段级权限实践 https://www.cnblogs.com/spring_wang/p/10983999.html
6、用户安全控制-权限管理模型实践-权限都在这里 https://www.cnblogs.com/spring_wang/p/10983983.html
7、SNF快速开发平台成长史V4.5-Spring.Net.Framework-SNF软件开发机器人 https://www.cnblogs.com/spring_wang/p/6742014.html
8、Spring.Net.FrameworkV3.0 版本发布了,感谢大家的支持 https://www.cnblogs.com/spring_wang/p/4203293.html
转载于:https://www.cnblogs.com/spring_wang/p/10983935.html
SNF快速开发平台2019-权限管理模型简介-权限都在这里相关推荐
- SNF快速开发平台MVC-自由排序组件
1. 自由排序功能使用 在一些需要排序优先级的数据进行调整处理,如民族数据,在北方实施的时候汉族比较多,希望把汉族放在第一位.在蒙古实施项目时,蒙古族人最多把蒙古族放在第一选择位. 1.1. ...
- SNF快速开发平台MVC-高级查询组件
1. 高级查询 在我们做项目的时候经常想要按名称.编号进行查询数据,可在开发时会把最常用的查询条件写上,不常用的就不写了,也是因为把所有字段都写上太多了,布局不好看而且不实用.还有些查询条件几百年 ...
- SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)...
做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...
- SNF开发平台WinForm之五-高级查询使用说明-SNF快速开发平台3.3-Spring.Net.Framework
5.1运行效果: 5.2开发实现: 1.按上面效果来说,先来看一下在程序当中如果调用.第一步在页面拖拽一个按钮为"高级查询",事件上写下如下代码: 如果是单表查询的话,只需要传Gr ...
- Winform开发框架之通用高级查询模块--SNF快速开发平台3.3-Spring.Net.Framework
最近项目确实忙,但也是一直忙于有关项目和框架技术的事情,也一直致力于改善我的WInform开发框架.使得自己及客户使用起来更加方便,更加友好,更加高效. 在很多程序模块中都很常见,也是给客户扩展查询的 ...
- SNF快速开发平台MVC-EasyQuery-拖拽生成SQL脚本
在之前介绍一下EasyQuery工具SNF开发平台WinForm-EasyQuery统计分析-效果-非常牛逼的报表查询工具 Winform开发框架之图表报表在线设计器-报表-SNF.EasyQuery ...
- asp.net导出excel-一行代码实现excel、xml、pdf、word、html、csv等7种格式文件导出功能而且美观-SNF快速开发平台...
分享: 腾讯微博 新浪微博 搜狐微博 网易微博 腾讯朋友 百度贴吧 豆瓣 QQ好友 人人网 作者:王春天 原文地址:http://www.cnblogs.com/spring_ ...
- MVC 打印解决方案--SNF快速开发平台3.1
MVC 打印解决方案--SNF快速开发平台3.1 参考文章: (1)MVC 打印解决方案--SNF快速开发平台3.1 (2)https://www.cnblogs.com/spring_wang/p/ ...
- SNF快速开发平台2019-APP移动端实际应用效果
废话不多说,直接上效果图: 这是我们移动端框架基本程序+组件库+标准业务程序,当然了还需要配合上我们的代码生成器则更如虎添翼.https://www.cnblogs.com/spring_wang/p ...
最新文章
- 华硕笔记本如何锁定计算机,我的华硕电脑开机密码被锁定了怎么办
- Android左右连接和USING
- js之事件冒泡和事件捕获
- OpenCV亚像素角点检测
- sqrt()函数的详解和用法
- JSP-Servlet中文乱码
- oracle比较好的链接记录
- 使用Bootstrap-table创建表单,并且与flask后台进行数据交互
- 成功的秘诀是什么_学习编码的10个成功秘诀
- Android之帮助文档
- Axure RP一个专业的高速原型设计工具
- linux系统pdf目录编辑器,Linux操作系统(三)编辑器与实用程序.pdf
- SaaSBase:什么是数云麒麟CRM?
- Linux FTP搭建及访问
- 计算机电缆 国家标准,电线电缆常用国家标准
- 虚拟摄像头(拉rtsp流或桌面作为图像源)
- mysql crud,mysql的CRUD操作实现
- 自研一个word应用,需要哪些基本功能
- Codeforces Round #322 B Luxurious Houses
- 特殊儿童领间最灿烂的一缕红——我们入队了
热门文章
- ADO.NET Entity Framework之ObjectQuery
- 签入VSS中遇到UTF-8问题
- php使用supervisor管理进程脚本
- Spring 从零開始-05
- Linq入门演练---(1)基本用法-分组,排序,内连接
- redhat enterprise 5 在 VMware 6.5 中中文显示乱码的解决办法
- elasticsearch7.9.2 安装配置
- itms-services 格式
- DOM树和Render树的创建
- BetterFE 前端技术周刊 - 2019/04/15