作者:橘子洲头

全文共 2210 字 5 图,阅读需要 6 分钟

———— / BEGIN / ————

在人人都是产品经理的网站上蛰居了4年,学习了四年,由于最近的工作方向偏向于后台,在设计后台时时常会查阅后台的相关资料,但是关于后台的文章等内容分享的太少了。

正好这一段时间在调整,想尝试撰写一系列的关于后台文章,希望跟大家一起来探讨、分享,希望对大家有所裨益。

由于不同的后台需求多样化,不能一一兼顾,只能蜻蜓点水,尽量深入浅出。

一、权限管理系统定义

权限管理是一个几乎所有后台系统的都会涉及的一个重要组成部分,主要目的是对整个后台管理系统进行权限的控制,而针对的对象是员工,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,数据泄露等问题。

其实权限管理的设计并不难,就目前来说最广泛的是一个账号对应多个角色,每个角色对应相应的权限集(RBAC模型)这种模型基本可以应对所有的问题,且通过角色可以实现灵活且多样的的权限操作需求,我们梳理一下上面主要提到的几个名词:账号、角色、权限。

1. 账号的定义

每个员工想要进入系统肯定都会有一个账号,而这个账号就是一把钥匙。

我们通过控制账号所具备的权限,进而控制这个员工的授权范围。

因此需要告诫员工,账号密码不能轻易提供他人,不然遇到的问题由自己承担。

2. 角色的定义

角色管理是确定角色具备哪些权限的一个过程,他是一个集合的概念,是众多最小权限颗粒的组成。

我们通过把权限给这个角色,再把角色给账号,从而实现账号的权限,因此它承担了一个桥梁的作用。

引入角色这个概念,可以帮助我们灵活的扩展,使一个账号可以具备多种角色。

角色的命名最好按照职位而定,例如市场部普通员工,市场部主管等。因为职位在任何企业都是存在的,且是有限的,并且容易理解,市场部文员那就是市场部文员角色,方便我们配置权限时的判断,避免配置错误。

3. 权限的定义

权限可以分为三种:页面权限,操作权限,数据权限。

页面权限

控制你可以看到哪个页面,看不到哪个页面。

很多系统都只做到了控制页面这一层级,它实现起来比较简单,一些系统会这样设计,但是比较古板,控制的权限不精细,难以在页面上对权限进行更下一层级的划分。

操作权限

则控制你可以在页面上操作哪些按妞。

延伸:当我们进入一个页面,我们的目的无非是在这个页面上进行增删改查,那在页面上对应的操作可能是:查询,删除,编辑,新增四个按钮。

可能你在某个页面上,只能查询数据,而不能修改数据。

数据权限

数据权限则是控制你可以看到哪些数据,比如市场A部的人只能看到或者修改A部创建的数据,他看不到或者不能修改B部的数据。

延伸:数据的控制我们一般通过部门去实现,每条记录都有一个创建人,而每一个创建人都属于某个部门,因此部门分的越细,数据的控制层级也就越精细,这里是否有其他好的方式除了部门这个维度还有其他什么方式可以控制数据权限,大家可以提出来探讨一下。

哪个页面要放置哪些权限,完全根据业务需要配置,你只需要把控制权限的地方列出来交给开发就好。

二、权限管理系统基本的页面设计

1. 角色列表页

删除角色,需要去判断是否有账号关联了此角色,如果有关联,则不允许删除。如果角色不想用或者取消了,你可以将角色设置为无效状态,账户获取角色时会首先判断角色是否有效。

从便捷性上可以提供一个功能批量给某角色添加账户,在新员工入职时特别是同一岗位的,设置的权限时效率会大大提升。

给角色配置权限

2. 账户列表页

首先我们肯定有个账户列表,因为我们是给账户配置权限。里面可以查询到或者添加到所有的人(为什么说添加,因为很多大公司有很多的管理系统,而每一个管理系统只有一部分人用,所以不会把所有人都在账户列表显示出来,故用到了添加)。

这里需要注意的是账号的禁用,用于防止员工离职后的问题。可以跟人事系统打通,人事那边设置某员工离职后,所有系统账号自动设为禁用。

有很多系统,提供了给账号直接添加具体权限的功能而不是通过角色,如同下图,我是不提倡的,给某个员工增加某个特定权限时,虽然操作更加便捷了,但是缺少规范性,一个员工明明是只有市场部角色,居然有财务部的支付功能,这个在页面上是解释不通的,而且日积月累会导致人员权限混乱,这种需求完全可以通过可以新增一个角色去处理。

账户列表

给账户配置角色

3. 从权限添加账户

这种方式也是不提倡的,这种形式如果上面所讲的,直接给账号添加具体的权限,虽然提升的操作的便捷性,但是影响了权限的规范性与可维护性,角色这一桥梁就会变成断桥,统一性就会破坏掉。

截取的部分原型的页面,页面有点粗陋,仅供参考。

三、权限的分配

权限的分配要合理,很多公司分配给部门权限的时候很随意,部门要什么权限就给什么权限,其实这是有隐患的。

我们更多需要更深入的考虑部门能有什么权限,而不是要什么权限,而这一块往往被忽略。

四、总结

归根到底我想强调一件事情:权限的管理,如何从公司制度上重视?

即如何规范权限的分配,即那个部门哪个员工要哪个权限都需要进行审批或邮件知会后才能帮其配置,还有哪些数据要设置权限,哪些操作要设置权限,这些权限管理过程才是权限系统的核心,恰恰这些核心的东西在系统上是体现不出来的。

前期的不经意就会在后期会变成麻烦,不仅影响业务效率,更会导致风险危机。

权限管理最终是为了风控,如果权限的风控意识没做好,权限系统做的再好也是枉然。

———— / END / ————

本文由 @橘子洲头 原创发布于人人都是产品经理。未经许可,禁止转载

点击“阅读原文”下载APP

后台经验分享:如何做权限管理系统设计?相关推荐

  1. 后台产品的基石:权限管理体系设计

    后台产品的基石:权限管理体系设计 什么是后台产品? 简而言之,我们日常使用的互联网应用,有一些需要做数据/信息的呈现,管理维护这些数据/信息的产品,就是后台产品. 举个例子:在音乐app中有很多的歌曲 ...

  2. java.securti_springboot集成springsecurity 使用OAUTH2做权限管理的教程

    Spring Security OAuth2 主要配置,注意application.yml最后的配置resource filter顺序配置,不然会能获取token但是访问一直 没有权限 WebSecu ...

  3. 权限管理系统设计——入门(一)

    权限管理系统设计--入门(一) 后续更新中- 概念 1.身份认证:用户是否是合法. 2.限制资源访问:根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源. 3.用途广:出现在 ...

  4. AdminEx后台管理系统模板、用户权限管理设计、按钮级别

    一.前言 最近有时间研究了一下做后台管理系统的模板界面,开源的比较知名很早之前就用过EasyUI.Vue+ElementUI,Layui,Bootstrap等. EasyUI个人感觉功能强大,帮助we ...

  5. 权限认证php,2016年Linux认证基础知识:php做权限管理

    2016年Linux认证基础知识:php做权限管理 在学习Linux认证过程中,每个人会遇到每个人不同的问题,或小或大,那么你知道在Linux下,php怎么做权限管理?下面跟yjbys小编来看看最新的 ...

  6. [vue] vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?

    [vue] vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做? 可以通过指令去做 Vue.directive('hasPermission', { bind(el, binding, vno ...

  7. 基于面向对象的权限管理系统设计与实现[1]

    基于面向对象的权限管理系统设计与实现[1] 2007-9-20 作者:王如龙 网友评论 0 条 点击进入论坛 摘要:针对大型计算机应用系统对权限管理的要求,提出了采用面向对象技术,实现权限管理的思想, ...

  8. linuxoracle查看用户权限_权限管理系统设计过程

    今天和大家一起探讨权限管理方面的设计心得.权限管理,是B端后台系统一个重要的组成部分,属于底层的支撑功能,系统内所有的功能,甚至字段的增减都涉及到权限的分配和管理.因此怎样配置后台的权限系统,以适应多 ...

  9. MaxCompute 项目子账号做权限管理

    场景: 一个企业使用多款阿里云产品,MaxCompute是其中一个产品,用的是同个主账号,主账号不是由使用MaxCompute的大数据同学管理,  大数据同学使用的是子账号.大数据同学日常需要给Max ...

  10. OA/CRM/ERP 权限管理系统设计 - bg.work办公开源实现

    一 .简介 权限管理对有组织结构的系统重要性无需多言,没有权限限制的管理.办公系统将没有可用性可谈.说实话权限管理系统实现起来没有任何门槛,直接几个if else判断就能解决现实需求 ,但是,如果需要 ...

最新文章

  1. MVC在filter中如何获取控制器名称和Action名称
  2. Halcon中数据的四舍五入、取整、有效数字以及和字符串之间的转换
  3. 每个网站SEO优化人员都要熟知的三大图片优化技巧
  4. 【ASP.NET Web API教程】5.5 ASP.NET Web API中的HTTP Cookie
  5. html4.0编辑器,KindEditor HTML(在线编辑器)
  6. Redis 常用命令学四:集合类型命令
  7. Unity Api集合
  8. Java中的简单REST客户端
  9. 论文浅尝 | 通过知识到文本的转换进行知识增强的常识问答
  10. 外国小哥,把整个 CNN 都给可视化了,卷积、池化清清楚楚!
  11. linux系统时间和硬件时间的修改,Linux修改日期、时间,系统与硬件时间
  12. MongoDB:MapReduce基础及实例
  13. java初学者代码练习题
  14. MicroSIP 编译教程 VS2017-x86版本
  15. Linux 下查询 DNS 服务器信息
  16. 高价iPhone陷低谷 苹果又推2799元的HomePod 你买吗?
  17. MySQL 8.0.16 告别mysql_upgrade升级方式
  18. Godaddy域名A记录解析详细教程
  19. 快捷生成HTML代码的实现
  20. 浪潮cs5280H raid方案详细

热门文章

  1. JAVA游戏弑天剑传,弑天剑传(豪华版)_手机游戏资料库_新浪游戏_新浪网
  2. kali wifi 无线渗透测试 网卡桥接搭建无赖AP
  3. CSS3 ---奔跑的小人
  4. 神经网络模型结果怎么看,神经网络模型怎么预测
  5. 有哪些既美味又健康的食品适合健身和减肥爱好者?
  6. SpringBoot+Druid连接池
  7. Office 2016更新后 Word 2016、Excel 2016、Power 2016、Visio 2016、OneNote 2016图标全部消失问题解决
  8. 百度网盘机器人软件工具自动发货管理文件好友群补发文件资料 (可用于拼多多淘宝闲鱼虚拟店商品自动发货)
  9. 网页特效——花间飞舞的蝴蝶
  10. 微信小程序-组件属性传值