【产品设计】软件系统三基座之一:权限管理

不同的员工在公司享有不同的权限,用户可以访问而且只能访问自己被授权的资源。那么,权限管理功能要如何设计呢?

在这里插入图片描述
软件系统三基座包含:权限管理、组织架构、用户管理。

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

在这里插入图片描述

一、为什么要权限管理

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

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,则能够兼容三方应用的权限管理。
在这里插入图片描述
支持三方应用的权限点管理,就能实现三方应用在较小的改造成本下,纳入系统下,为系统的融合扩展提供了支持。

权限点管理:
在这里插入图片描述
添加权限点:
在这里插入图片描述

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

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

相关文章

边缘计算系统设计与实践

随着科技的飞速发展,物联网和人工智能两大领域的不断突破,我们看到了一种新型的计算模型——边缘计算的崛起。这种计算模型在处理大规模数据、实现实时响应和降低延迟需求方面,展现出了巨大的潜力。本文将深入探讨边缘计算系统的设计原理和实…

13、RockerMQ消息类型之广播与集群消息

RocketMq中提供两种消费模式:集群模式和广播模式。 集群模式 集群模式表示同一个消息会被同一个消费组中的消费者消费一次,消息被负载均衡分配到同一个消费者上的多个实例上。 还有另外一种平均的算法是AllocateMessageQueueAveragelyByCircle&#xff…

windows下docker环境安装

开启硬件虚拟化技术 win10中开启 Hyper-V Win10 下是否开启硬件虚拟化技术,在控制面板,启用 window 功能,找到 Hyper-V 选项,点勾选确认。如图: Windows 11 家庭中文版新增 Hyper-V选项 注意以下的解决方案来自win1…

带你手把手 解读 firejail 沙盒源码(0.9.72版本)目录和组件 (一)

文章目录 关于firejail 的介绍src 目录每个文件夹(组件)的意义文件目录树 关于firejail 的介绍 Firejail 是一个用于 Linux 系统的安全工具,它通过创建轻量级的沙箱环境来运行应用程序。这种沙箱环境将应用程序与系统其余部分隔离&#xff0…

openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【5】 添加osd存储节点

接上篇 openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【1】离线部署 准备基础环境-CSDN博客 openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【2】离线部署 podman配置registries 部署registry私服 准备离线镜像-CSDN博客 openEuler 20.03 (LTS-SP2…

Python手撕kmeans源码

参考了两篇文章 K-Means及K-Means算法Python源码实现-CSDN博客 使用K-means算法进行聚类分析_kmeans聚类分析结果怎么看-CSDN博客 # 定义kmeans类 from copy import deepcopy from sklearn.datasets import make_blobs import numpy as np import matplotlib.pyplot as pltc…

如何充分准备面试,迅速融入团队并在工作中取得卓越成就

首先,关于如何筹备面试,首先需要对所申请公司与职位进行深入的调查了解,并依据可能提出的面试问题预先准备相应的答案,并提前调试面试所需的仪器设备。同时,也要注重自身形象的塑造。更为关键的是 1. 在计算机领域的面…

redis-学习笔记(Jedis)

自定义的 Redis 客户端 咱们可以实现编写出一个自定义的 Redis 客户端 因为 Redis 公开了自己使用的自定义协议 ---- RESP 协议清楚了, 那么通信数据格式就清除了, 就能完成各层次之间的数据传输, 就能开发服务器和客户端 RESP — Redis 的 序列化 协议 特点: 简单好实现快读进…

ETLCloud的应用策略——实时数据处理是关键

一、ETLCloud是什么? ETLCloud又称数据集成(DataOps),是RestCloud旗下的一款数据仓库管理工具,通过自动化数据转换和集成来实现企业内部和外部数据的无缝对接,从而帮助企业快速获取准确的数据信息&#xff…

活动预告 | 微盟技术沙龙 - Elasticsearch 在微盟的实践 12/21/2023

微盟技术沙龙 「微盟技术沙龙」是由微盟研发中心发起并联合各方小伙伴为开发者举办的系列技术沙龙,从用户,产品,技术等方面与开发者进行交流。 微盟技术沙龙关注开发者在实际应用中遇到的问题。提供最真实的干货,以技术会友&…

【SpringBoot】从入门到精通的快速开发指南

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《SpringBoot》。🎯🎯 &…

[MySQL]SQL优化之sql语句优化

🌈键盘敲烂,年薪30万🌈 目录 一、索引优化 回顾: 📕索引分类: 📕索引失效: 📕设计原则: 📕SQL性能分析 二、SQL优化 语句优化 &#x1f4d…

Gorm 的关联查询

背景介绍 gorm 与 mybatis-plus 、hibernate 等 ORM 框架一样,为了应对查询场景居多的现象,支持原生 sql 和 api 两种方式读数据库。 gorm 原生 sql 参见:https://gorm.io/docs/sql_builder.html。 gorm 提供的 api 支持关联插入、关联查询…

Jmeter入门

一、下载jmeter 官网下载 下载之后解压,在目录/bin下面找到jmeter.bat双击之后即可启动Jmeter。 二、使用 如下左图,选择语言为中文,可以修改测试计划的名称。如下右图,添加线程组 添加线程组 添加http请求 路径传参方式 …

Linux——MySQL数据库系统

一、 MySQL的编译安装 1、准备工作 (1)为了避免发生端口冲突,程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有使用以Rpm方式安装的mysql-server、mysql软件包,否则建议将其卸载 [rootlocalhost ~]…

mars3d加载arcgis发布的服务,⽀持4523坐标

问题 1.从这个服务地址加载,具体在哪⾥去转坐标呢? 加个 usePreCachedTilesIfAvailable:false 参数即可 坐标系为4490的arcgis影像服务图层,配置后瓦片加载不出来,没报错 甚至可以跳转 没有看出问题,或者测…

RK3568驱动指南|第八篇 设备树插件-第75章ConfigFS的核心数据结构

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

神由之星加入元宇宙产业委员会共谋数字发展新篇章

近年来,元宇宙产业呈现出飞速发展的趋势,成为全球范围内备受瞩目的新兴行业。在这个充满机遇与挑战的时代,常州神由之星数字信息产业发展有限公司凭借敏锐的洞察力和卓越的数字产品,迅速抓住元宇宙的发展势头,大力发展元宇宙业务,成为该领域内一颗冉冉升起的新星。 神由之星荣膺…

数据分享 I 全国市级商品房屋销售数据,shp/excel格式,2005-2020年数据

基本信息. 数据名称: 全国市级商品房屋销售数据 数据格式: Shp、excel 数据时间: 2005-2020年 数据几何类型: 面 数据坐标系: WGS84坐标系 数据来源:网络公开数据 数据字段: 序号字段名称字段说明1spxse商品房销售额(亿元&#xf…

优思学院|如何建立公司运营指标体系?如何推行六西格玛改进运营指标?

关键绩效指标 (KPI) 是测量您团队或组织朝重要商业目标进展表现如何的量化指标,组织会在多个层面使用 KPI,这视乎您想要追踪何指标而定,您可以设定全组织的、特定团队的、或甚至是个人 KPI。 良好的KPI能让公司管理者掌握组织的营运是否进度…