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

news2024/12/26 14:35:37

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

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

万丈高楼平地起

一、为什么要权限管理

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

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.coloradmin.cn/o/571883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

集成chatgpt4和midjourney的超强镜像站

昨天发现一个镜像站,和之前发的镜像站不一样,这个集成了midjourney和chatgpt,且免翻,相信给很多很多用户都提供了便利吧! 先把网站贴出来,有兴趣的伙伴可以玩一玩 http://mtw.so/5EoyYy http://mtw.so/5E…

如何在上架App之前设置证书并上传应用

App上架教程 在上架App之前想要进行真机测试的同学,请查看《iOS- 最全的真机测试教程》,里面包含如何让多台电脑同时上架App和真机调试。 P12文件的使用详解 注意: 同样可以在Build Setting 的sign中设置证书,但是有点麻烦&…

浅析 Redis 中 String 数据类型及其底层编码

从 RedisObject 说起 在 Redis 中,任意数据类型的键和值都会被封装为一个 RedisObject ,也叫做Redis对象,源码如下 c 复制代码 /*server.h*/ typedef struct redisObject { unsigned type:4; unsigned encoding:4; unsigned lru:LRU_BITS;…

springboot+vue之java学习平台(java项目源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的java学习平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风歌&a…

档案库房太乱了怎么办?这个方法秒变高级!

全国有数以万计的大大小小的档案馆,其中有许多非常重要的机要档案,其历史和社会价值非常高,而档案保存的质量、档案的物理寿命、档案的防虫防霉都与库房的空气质量、温湿度息息相关。 解决档案高效管理及利用的安全问题越来越迫切&#xff0c…

在Ubuntu22.04上安装QQ~Linux

在Ubuntu22.04上安装QQ~Linux 0. 前言1. 下载deb安装包2. 使用dpkg安装deb包3. 安装完成,启动QQ3.1 点击图标打开3.2 使用命令行的方式打开 0. 前言 换Ubuntu当主力生产力了,并不是太喜欢vmware,所以我直接装到了硬盘里边,需要移…

SSM 如何使用 Kafka 实现消息队列?

SSM 如何使用 Kafka 实现消息队列? Kafka 是一个高性能、可扩展、分布式的消息队列系统,它支持多种数据格式和多种操作,可以用于实现数据传输、消息通信、日志处理等场景。在 SSM(Spring Spring MVC MyBatis)开发中…

iOS-最全的App上架教程

App上架教程 在上架App之前想要进行真机测试的同学,请查看《iOS- 最全的真机测试教程》,里面包含如何让多台电脑同时上架App和真机调试。 P12文件的使用详解 注意: 同样可以在Build Setting 的sign中设置证书,但是有点麻烦&…

软件开发项目成本控制的4大策略

1、构建责权利相结合的成本控制机制 需要对每个部门与个人的工作范围和工作职业有明确的界定,并赋予相应的权利以充分履行职责。在责任支配下高效完成工作进度时,需要给予一定的物质奖励。通过这样层层落实,逐级负责,从而做到责权…

VanillaNet:深度学习极简主义的力量

摘要 基础模型的核心是“更多不同”的理念,计算机视觉和自然语言处理方面的出色表现就是例证。然而,Transformer模型的优化和固有复杂性的挑战要求范式向简单性转变。在本文中,我们介绍了VanillaNET,这是一种设计优雅的神经网络架…

学会提问,ChatGPT可以帮你写出高质量论文

前言 ChatGPT 很火,火到大家以为他可以上天入地,上到天文,下到地理无所不能,但实际使用大家是不是会遇到如下的情况。 写论文步骤 今天,我们来探讨下怎样问ChatGPT,才能帮你写出一篇优秀的论文,…

【Java-Crawler】爬取动态页面(HtmlUnit、WebMagic)

爬取动态页面(WebMagic、HtmlUnit) 一、HtmlUnit的基本使用引入依赖一般使用步骤WebClient 的一些配置(上述一般步骤中的第二步) 二、案例(爬取CSDN首页)测试(WebMagicHtmlUnit)三、…

人机交互技术在车管所的应用探索

车管所作为交通管理的重要机构,承担着车辆登记、驾驶证办理、年检等重要职责,其工作效率和服务质量对于保障道路交通安全和畅通至关重要。而人机交互技术作为一种新兴的技术手段,可以为车管所提供更加高效、便捷的服务。因此,本文…

ESD防静电监控系统后台实时掌控现场静电防护情况

当静电积累到一定程度时,它可能会产生电击,从而对工人造成伤害。因此,工厂应该采取必要的预防措施,如提供防静电鞋和衣服,以保护工人免受静电伤害。 ESD防静电监控系统实现工业4.0技术要求,ESD物联技术稳定…

chatgpt赋能python:Python编程:接口程序的SEO优化方法

Python编程:接口程序的SEO优化方法 简介 接口程序是现代软件开发不可或缺的一部分,为应用程序提供外部数据访问和交互的方式。Python是一种功能强大的编程语言,在接口开发中也得到了广泛应用。本文将介绍如何使用Python编写有效的接口程序并…

新形式下安科瑞智能配网监控系统的应用研究

安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 摘要:随着经济和科技水平的快速发展,大型建筑变电所、配电房数量较多,分布区域广,配电运维部门人员对配电房的运维管理基本停留在传统的定期巡视、周期性检修、故障抢修…

对于质量保障,前端职能该做些什么?

目录 前言 1. 背景 2. 分析 2.1 前端自动化测试工具 2.1.1 针对工程代码的静态检查 2.1.2 针对部署产物的检查 2.1.3 性能测试 2.1.4 错误检测 2.1.5 容灾(白屏)检测 2.2 devOps 流程关联 2.2.1 提测卡点 2.2.2 发布卡点 3. 总结 3.1 严选…

RabbitMQ消息持久化机制

上一篇说到生产者消息确认机制,它可以确保消息投递到RabbitMQ的队列中,但是消息发送到RabbitMQ以后,如果MQ宕机,也可能导致消息丢失,所以提出了消息持久化。持久化的主要机制就是将信息写入磁盘,当RabbtiMQ…

机械师曙光16电脑开机自动蓝屏怎么解决?

机械师曙光16电脑开机自动蓝屏怎么解决?有的用户在使用机械师曙光16电脑的时候,遇到了一些系统问题,导致自己无法正常的开机使用电脑。因为电脑总会变成蓝屏,无法进行任何操作。那么这个情况怎么去进行问题的解决呢?来…

字节内部又推出最新spring进阶全家桶了!强烈建议人手一份!

前言 一份 Alibaba 内部强烈推荐的“玩转 Spring 全家桶的 PDF” ,小编也不是个吝啬的人,好的东西当然要一起分享咯。今天小编就带你一站通关 Spring全家桶,让你一路通关轻松斩获大厂 Offer! Spring 框架自 2002 年诞生以来一直…