编辑导语:权限管理是所有后台系统的都会涉及的一个重要组成部分,在管理后台中对于权限的标准需要准确地把握,并且根据各种需求进行设计,达到最终目的;本文作者分享了关于权限系统的设计,我们一起来了解一下。

写在前面,为什么要写权限系统的设计呢?

因为每一个项目,有管理后台,90%会有权限管理。在我自己历史以往的项目,其实对于权限始终是一个相对表面的认知。直到我去年研究了钉钉的管理系统、以及今年做了产品重构,让我对权限有了一个深度的认知。

一、权限是什么

我对于权限的理解,一开始是一个账号,管理着后台的某些模块;这个时候,权限很简单,他是一个账号列表,可以编辑账号信息以及设置账号查看菜单,即账号yimi可以管理订单列表。

后面接了一些门店端的项目,在区分菜单查看上,也加上了数据区分,即账号yimi可以管理**门店的订单列表数据;上面这两项,我觉得可以基本可以支持中小型的项目是足够使用的。

然后更深一个层级的,当你接了一个大型的项目,你的后台管理员是一个集团的人,或者是上百人,这个时候一个账号区分是远远不能满足的;也延伸了在做CRM系统的时候研究了钉钉的逻辑,权限不仅仅是开通一个账号(仅有账号+密码)这么简单,权限是对于不同部门的人的管理。那么这个时候会将账号跟菜单权限独立开来。

账号即部门下面的某个成员,可通过手机号作为唯一标识。菜单权限按照不同角色去区分,财务有拥有什么菜单、采购拥有哪几个菜单。

听到这里,权限就涉及了:部门、成员、角色、菜单。那我会觉得,权限可复杂可简化,其实无非是人管事。那么不同的权限设计会有什么区别呢?

二、最小权限设计

最小的权限设计,如下图所示,有登录账号、密码、以及菜单勾选。其实还有个XS版本的,即仅有账号,无菜单权限分隔。

那什么情况会使用这种最小的权限设计,我个人的理解是小型的项目,或者说客户内部运营结构相对简单;这个时候需要注意几点,第一个拥有整个菜单即拥有菜单所有操作,第二点是没有数据隔离,即每个拥有菜单权限的管理员查看内容一致。

对于需求梳理如下所示:

三、中型项目权限设计

中型大小的项目,类似于多门店、或者是负责角色不同,同个模块需要查看不同数据、进行不同的操作。如下图所示:

中型项目权限设计-编辑管理员-图示2

中型项目权限设计-编辑角色-图示3

相对于最小权限设计,你可以理解为菜单+账号的拆分,并且在菜单的基础上,扩展了操作权限;也通过角色的区分,扩展了数据权限,此时的权限=菜单权限+操作权限+数据权限。

相对于上一个会复杂很多,为什么我前面会说建议按照产品体系,再去做这一套中型的权限系统?

一方面,众所周知是由于开发工作量以及难度,对应报价会高;另一方面是,这个的复杂度也提高了他使用难度,如果是没有这种业务情况需求(类似于多门店、或者是负责角色不同),就不建议用了。

最后也是最重要一个方面,针对不可持续性产品的说明:不断向软件增加功能,是不可持续的。增加复杂性意味着遗留代码越来越沉重,导致产品维护成本越来越高,而且也越来越难以灵活应对市场变化;这个道理我想不仅仅适用于用户前端,对管理后台也同样适用。

对应的需求梳理如下:

四、大型项目权限设计

大型项目的权限,最大的一个变化,是有部门组织架构,不同部门的人使用系统,即将管理员管理拆解为部门管理+成员管理,但是又不仅仅于此。

在一个接入审批的系统、或者CRM中,往往数据是相对独立的,可以按照部门组织架构数,去区分数据的权限。如下图所示:


大型项目权限设计-部门组织架构-图示4

如果说,中型项目的数据权限是按照门店或者区域划分,那么部门树则是数据权限的另一个维度。按照创建者所在部门,将这条数据归属于某个成员某个部门(此处还要考虑成员存在多部门的情况),同个部门间数据独立,而主管可以查看所有人的数据。

则这个数据划分,并不适用于后台管理的所有列表,例如用户列表、订单列表此类数据来源并非后台的,或者是一些文案管理的列表,并没有必要做数据的区分;所以在开发的时候,还需要在每个列表列出说明,是否使用;这个逻辑实现的确是相对比较复杂的,整个权限系统可以相当于一个小型项目了,这个需求我大概写了一下功能点,有需要的小伙伴可以再问我要。

五、总结

权限还是一个可简单可复杂的系统模块,但是还是要按照需求,进行设计。

熟悉产品体系跟需求后,提出的方案才能更贴合、更有说服力,才能真正解决问题;所以也建议,对权限系统感兴趣的话,有空的时候多研究一下钉钉、飞书这类型的软件,虽然并不能完全复用,大厂的解决方案,每个模块甚至于每个文案内容,都凝聚着一整个技术团队的心血,还是很值得我们学习的。

【权限设计】权限系统的设计——由浅至深相关推荐

  1. 红外遥控C语言程序设计,光电红外遥控开关设计(光电系统课程设计)【PCB图仿真图单片机C语言分工心得】..doc...

    光电红外遥控开关设计(光电系统课程设计)[PCB图仿真图单片机C语言分工心得]. 本科生课程论文 论文题目光电红外遥控开关设计课程名称光电系统设计学生姓名学号所在学院所在班级指导教师 目 录 摘要3 ...

  2. .NET Core实战项目之CMS 第十章 设计篇-系统开发框架设计

    这两天比较忙,周末也在加班,所以更新的就慢了一点,不过没关系,今天我们就进行千呼万唤的系统开发框架的设计.不知道上篇关于架构设计的文章大家有没有阅读,如果阅读后相信一定对架构设计有了更近一部的理解,如 ...

  3. 知识计算机硬件 教学设计,“计算机硬件系统”教学设计

    吴玲莉 [摘要]建构主义理论提倡教师指导下的以学习者为中心的学习.在七年级"计算机硬件系统"的理论课教学中,教师可以建构主义理论为基础,利用诗歌创设学生熟悉的情境,通过类比的方式让 ...

  4. 嵌入式系统开发设计---嵌入式系统开发设计

    嵌入式系统设计的主要任务是定义系统的功能.决定系统的架构,并将功能映射到系统实现架构上.这里,系统架构既包括软件系统架构也包括硬件系统架构.一种架构可以映射到各种不同的物理实现,每种实现表示不同的取舍 ...

  5. 系统架构设计——秒杀系统架构设计

    摘要 秒杀大家都不陌生.自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见.简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程.从架构视角来看,秒杀 ...

  6. 知识计算机硬件 教学设计,计算机硬件系统教学设计.doc

    计算机硬件系统教学设计.doc 1. 教学目标1. 知识与技能(1) 了解计算机发展的概况.特点和分类(2) 了解计算机的基本工作原理(3)了解计算机硬件系统的组成(4)识别计算机常见的硬件并了解其作 ...

  7. 论坛系统mysql数据库设计_BBS论坛系统的设计与实现(MySQL)

    BBS论坛系统的设计与实现(MySQL)(任务书,开题报告,中期检查表,文献综述,外文翻译,毕业论文12000字,程序代码,MySQL数据库) 论文主要介绍了BBS论坛系统的设计和实现.设计包括数据库 ...

  8. 基于SSM的公选课的选课系统/选课系统的设计与实现

    摘  要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:公选课的选课系统当然也不能排除在外,随着网络技术的不断成熟,带动了公选课的选课系统的发展,它彻底改变了 ...

  9. 基于ssm的论坛系统的设计与实现【附源码】

    基于ssm的论坛系统的设计与实现 摘 要 早期的网络论坛系统已经诞生一段时间,随着互联网技术的发展,它已经从最初的简单电子公告板系统变成了一种丰富的论坛系统社区模型.人们通过论坛系统进行信息的获取.发 ...

  10. java图书馆登陆代码_图书馆系统(登录设计)

    基于MVC设计----图书馆系统(登录设计) 这一学期学习了JavaWeb开发, 课程结束时老师给的任务是做一个课程设计,博主使用MVC(jsp.servlets.javabean)开发了一个简单的图 ...

最新文章

  1. 字节Java高工面试:java软件开发工程师的市场薪资
  2. leetcode144. 二叉树的前序遍历(迭代)
  3. 8月12号=》391页-395页
  4. [流体力学] 推导柱坐标系下的连续性方程
  5. 程序员高工资是靠汗水和勤奋换来的,想拿高工资入门学习很重要
  6. 关于updatepanel回传之后JS失效问题
  7. 解决VMware/virtualbox虚拟机下ghost安装XP后无法从硬盘启动的问题
  8. 光耦重要参数与常用设计注意事项
  9. 【Redis学习笔记】redis-trib.rb命令详解
  10. 【最新】白piao迅雷的下载速度(迅雷11亲测好用)
  11. 学生HTML个人网页作业作品 基于HTML+CSS+JavaScript明星个人主页(15页)
  12. 自然语言处理实战——巧用 Amazon Comprehend 分析社交媒体数据
  13. 计算机网络学生机怎样连接总机,极域课堂管理系统怎么连接老师 学生端连接问题解决方法...
  14. 关于装msdn网站纯净版win7正版授权问题(已解决)
  15. 简单的LED交替闪烁程序
  16. _variant_t数据类型
  17. Django如何发送电子邮件?
  18. 三菱四节传送带控制梯形图_四节传送带PLC控制课程设计.doc
  19. YOLO系列目标检测算法-YOLOv6
  20. 业务运维离不开腾讯数据库TcaplusDB事务管理

热门文章

  1. 九款远程办公软件,打破时空限制
  2. 《JavaScript设计模式》初次笔记——wsdchong
  3. Linux虚拟网络设备之bridge(桥)
  4. VLAN与Trunk
  5. 免费PDF转Word
  6. 只有一小部分情节的小说——离觞
  7. NetXray使用说明之(6)----捕捉oicq message报文 (转)
  8. Eclipse 快捷键
  9. 易语言超级列表框 网络图片_川足快报| 四川优必选为老将汪嵩庆生、遂宁市第三届高中男子足球超级联赛开赛...
  10. 诺基亚N1 WIFI感叹号消除