软件系统三基座之一:权限管理

news/2024/5/12 18:06:33/文章来源:https://blog.csdn.net/u013205623/article/details/130882701

软件系统三基座包含:权限管理、组织架构、用户管理。

何为基座,即是有了这些基础,任一相关的“建筑”就能逐步搭建起来。

万丈高楼平地起

一、为什么要权限管理

权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。只要有用户和密码的系统,几乎全有权限管理。

1、各司其职,提高工作效率

产品经理的品质追求和项目的里程碑交互是矛盾的,让产品经理管项目,可能项目没有终结点;

程序员的逻辑严谨和市场的变化多端是矛盾的,让程序员去做市场销售,可能团队没有太多收益;

2、权责分明,利于问题溯源

授予管理的权限,同时也是一份责任。费用的报销和预算消耗所剩无几是相关联的;打市场需要团队成员全员硬刚和请假审批松散导致身边无人可用是有前因后果的。

3、数据隔离,依权限管理数据

市场部的日常执行信息不断反馈给采购部,会极大地消耗采购部的精力;

战略规划部的规划调整随时更新给一线执行人员,会极大地摧毁公司整体的稳固度。

4、安全防患,防止误操作、人为破坏、数据泄漏

某某程序员删库跑路了;某某销售代表携客户资源跳槽了...此类事项屡屡出现,这总是前人血泪教训;

二、权限管理

软件系统三基座包含:权限管理、组织架构、用户管理。按照系统管理的设计,交互如下图所示。

以用户管理为例,需要支持最基础的增删改查操作,即是添加用户、编辑用户、删除用户、查询用户。

以现实业务情况,系统用户的增加包含用户注册或管理员添加。对于其他系统用户来讲,用户管理这一块与自己无关,不必查看。就需要做权限管控。

权限管理和现实中的开锁相似。首先需要了解哪些地方需要加锁,公园就不需要加锁,即是权限点注册;其次是在需要加锁的地方放上锁,并给需要的人发放钥匙,即是授权;最后则是有钥匙的人拿着钥匙开锁,没有钥匙则在封锁区域之外,即是鉴权

哪些地方加锁 = 权限点注册
上锁并发放钥匙 = 授权
拿钥匙开锁 = 鉴权

1、权限点注册

权限点注册是软件哪些功能需要做权限控制,就添加到权限控制的列表中。注册成功后,权限点树形结构展示,如下图所示。

权限点注册支持树形结构,也就是没有授权“用户管理”时,不能授权“删除用户”。权限点还可以细分按钮权限、URL权限,按钮权限控制页面上是否可见,URL权限控制按钮的交互是否能执行。一般的情况下,对同一个操作需要既授予按钮权限,又授予URL权限。若存在系统间接口数据交互的情况,不需要页面交互,就不必授予按钮权限。

权限管理作为底层支持,可扩展更多模块、更多应用的管理。在三基座授权管理的基础上,增加产品管理,则权限点注册后如下图所示。

2、授权管理

授权管理就是针对不同的用户授予不同的权限,也就能让不同的用户看到不同的软件部分。

如图所示,给用户A授权“ 添加用户、编辑用户、删除用户、查询用户”权限;给用户B授权“查询用户”;两个用户相比较而言,用户B就只能查询用户,相当于获取用户信息,则不能进行用户信息的编辑、修改。

两个用户都没有授权“用户授权”,则两个用户都不能修改用户的权限信息。

用户授权信息均由系统超管员(一般为admin账户)授权分发下来。

用以上含产品管理的系统进行授权管理,则可授权两大类,一类是A:系统管理,有权限管理、角色管理、用户管理权限,适用于人事;一类是B:产品管理员,有产品管理权限,适用于市场部人员。

A 人事

B 产品管理员

3、鉴权

鉴权则是应用自己的权限去打开对应的系统功能。如上面授权举例,系统管理员A、产品管理员B则看到不同的系统功能。

系统管理员 A

产品管理员 B

三、权限管理应用场景

1、人员变动之入职/调岗

在实际业务中,常存在新人入职,或在岗人员调岗的情况。若依旧使用给人员授权的情况,让整个操作变的复杂。

用户直接授权

如图所示,需要新人入职授权,就需要给新人挨个去授权每个功能;需要调岗,就需要先删除原有的所有权限,然后再授予新的权限。

基于系统要能用、好用的原则,增加角色管理,如下图所示:

用户通过角色授权

如图所示,需要新人入职授权,就只需要勾选新人所属的角色;需要调岗,就只需要先去掉原先的角色,勾选上新的角色,整体操作简便更多。

随着人员变多,业务变复杂,系统功能更庞大,权限管理体系还需要调整。如上例,若新人是个特殊人才,除了通有角色的权限,还需要一个单独权限,就需要增加用户直接授权的能力。当然,也可以新建一个单独的角色,只有这一个特殊的权限来实现。这也正体现了现实业务的复杂性,没有最好的,只有最适合当前业务需要的

2、三方应用权限管理

在三基座的基础上,扩展了产品管理,但作为系统,功能远远不够。电商类的需要扩展,商品管理、订单管理、支付管理、活动管理、积分管理等等一系列的功能模块或应用。

权限系统具有以上能力,为系统扩展打好了基础。增加的应用,通过权限点注册,全部纳入权限管理的范围内。若权限系统把权限点注册、权限查询、权限校验开放成为OpenAPI,则能够兼容三方应用的权限管理。

支持三方应用的权限点管理,就能实现三方应用在较小的改造成本下,纳入系统下,为系统的融合扩展提供了支持。

权限点管理

添加权限点

天台十万八千丈,祥云送我上青天。

前行需要一架梯子,你在梯子上拉拉我,我在梯子上拉拉你。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_306481.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

报表控件FastReport使用指南-在Ubuntu LTS中创建PDF文档

FastReport 是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开…

jvm之JMX

写在前面 本文来看先jmx相关内容。 1:jmx介绍 jvm在运行的过程中有很多的信息,比如堆内存,线程数,加载的类信息,CPU的使用量等,如果我们想要将这些信息暴漏让外界获取,该怎么做呢?此时就需要…

池州控股集团财务共享项目启动啦!

近日,由用友网络承建的池州市投资控股集团有限公司财务共享项目启动会成功举办,也标志着池州控股集团财务共享项目正式启动!池州控股集团总经理刘俊、用友国资事业部总经理汪发清及其他相关专家和项目组主要成员参加了此次启动会。 池州投控集…

档案馆空气质量在线3D监控系统温湿度方案

档案馆库房八防温湿度空气质量一体化解决方案 档案库房是档案事业发展的基石,其主要任务是集中保管国家机构及个人等在各种形式下形成的具有一定价值和保存价值的各种载体档案,主要包括文书档案、科技档案、会计档案、人事档案、实物档案等。随着我国经济…

Node版本管理器nvm的安装与使用

前言: 多项目新旧项目管理的时候,往往与依赖不同的node版本,不同的版本对其他依赖的安装有一定的影响,因此我们需要对node的版本进行方便快捷管理和切换,如果直接卸载重装对应版本,切换项目再次卸载重装明显…

【泛微ecology_oracle】如何把查询到的单列人力资源id合并成多人力资源格式

如何把查询到的单列人力资源id合并成多人力资源格式 在泛微ecology中,单列人力资源id合并成多人力资源的使用场景在泛微ecology中,在数据库里人员姓名存储形式那如何实现人力资源字段合并多人力资源字段呢? 在泛微ecology中,单列人…

Rancher添加集群报错:Etcd Cluster is not healthy

原因: 有一台虚拟机在升级内核失败后,回滚至快照。但由于快照版本太老旧,和当前的rancher版本不匹配,服务器上的agent等需要清楚后,重新在rancher添加集群;但是只删除了rancher镜像以及agent相关容器&#…

开源开放 生态共建 | openKylin社区单位会员突破200家!

当前,开放、协作、共享的开源模式已成为全球软件技术和产业创新的主导,也为信息技术国产自主化提供了强大助力。openKylin作为中国桌面操作系统开源社区,以聚焦桌面操作系统根技术为核心、以孵化相关领域关键项目为目标、以布道开源文化为抓手…

关闭linux kernel内核的启动log在控制台的输出

要关闭Linux内核的启动日志,你可以通过以下方法之一进行操作: 1. 通过引导加载器配置: 打开引导加载器的配置文件,如GRUB的配置文件 /boot/grub/grub.cfg。 在内核的启动行(以 “linux” 或 “kernel” 开头&#xf…

[论文评析]C-Mixup: Improving Generalization in Regression, NeurIPS,2022

C-Mixup: Improving Generalization in Regression 前言C-MixupReferences 前言 Mixup方法是针对分类任务的, 这篇方法相当于时提出了regression版本的Mixup, 实验证实能够大幅提升在regression task上的泛化能力. C-Mixup 是否可以把Mixup直接用于Regression task呢? 在原…

这可能是最全面的Java学习路线了

大家好,我是大彬~ 我本科学的不是计算机,大四开始自学Java,并且拿到了几个互联网中大厂的offer。在学习Java这方面还是比较有经验的,下面我来分享下我整理的Java自学路线。 在这里也提醒学弟学妹们,要尽早确定以后的…

数字档案馆建设指南

数字档案馆建设指南 目 录 1.总体要求 2.管理系统功能要求 3.应用系统开发和服务平台构建 4.数字档案资源建设 5.保障体系建设 1.总体要求 1.1概述 数字档案馆是指各级各类档案馆为适应信息社会日益增长的对档案信息资源管理、利用需求,运用现代信息技术对数字…

【问题记录】postgreSQL使用默认密码导致kdevtmpfsi挖矿病毒注入

起因 postgreSQL我做错了这几件事情 开启了全部IP登陆权限postgreSQL用的是默认用户名和密码用户postgres也没有设置密码,直接用su - postgres就能登陆 不知道是什么原理,反正服务器被侵入,并且注入了病毒文件 1. 基本信息排查 linux服务器…

Kafka实时数据即席查询应用与实践

作者:vivo 互联网搜索团队- Deng Jie Kafka中的实时数据是以Topic的概念进行分类存储,而Topic的数据是有一定时效性的,比如保存24小时、36小时、48小时等。而在定位一些实时数据的Case时,如果没有对实时数据进行历史归档&#xff…

用Typescript 的方式封装Vue3的表单绑定,支持防抖等功能。

Vue3 的父子组件传值、绑定表单数据、UI库的二次封装、防抖等,想来大家都很熟悉了,本篇介绍一种使用 Typescript 的方式进行统一的封装的方法。 基础使用方法 Vue3对于表单的绑定提供了一种简单的方式:v-model。对于使用者来说非常方便&…

镜像二叉树和求二叉树最大深度(java)

镜像二叉树和求二叉树最大深度 镜像二叉树。有些题目叫翻转二叉树。是同一个题。二叉树的最大深度 镜像二叉树。有些题目叫翻转二叉树。是同一个题。 题目描述:给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例&#xff1…

基于LLMs的多模态大模型(Visual ChatGPT,PICa,MM-REACT,MAGIC)

当LLMs已经拥有了极强的对话能力后,如何使其拥有视觉和语音等多模态能力是紧接而来的热点(虽然GPT4已经有了),这个系列将不定期更新一些利用LLMs做多模态任务的文章。 直觉上,如果直接训练一个类似chatgpt架构的多模态…

sql查询指定数据的函数(等于、and、or、in、find_in_set、like)

sql查询指定数据的函数(等于、and、or、in、find_in_set、like): 1.查询指定单字段的指定数据: 举例:查询user表中address字段数据等于aa的数据; select * from user where address aa 2.查询指定多字段…

【2023 · CANN训练营第一季】MindSpore模型快速调优攻略 第一章——调试调优背景介绍

1.模型迁移、模型调试调优背景介绍 模型训练\推理过程中可能遇到的问题: • 代码编写错误,问题难以定位; • 模型结构错误; • 权重更新错误; • 损失函数设计错误; • 半精度下计算溢出; • L…

Kali-linux Gerix Wifi Cracker破解无线网络

Gerix Wifi Cracker是另一个aircrack图形用户界面的无线网络破解工具。本节将介绍使用该工具破解无线网络及创建假的接入点。 9.3.1 Gerix破解WEP加密的无线网络 在前面介绍了手动使用Aircrack-ng破解WEP和WPA/WPA2加密的无线网络。为了方便,本小节将介绍使用Geri…