实例讲解后台权限系统设计
作者: Toogee 来源知乎ID:Toogee
权限设计通常隐藏于后台系统深处,以至于我们说起来都知道,但是在真正面对复杂的业务需求和逻辑关系,又有些抓瞎。
这篇文章是我对之前权限设计的一次复盘,希望在自己重新梳理的同时,也能给其他小伙伴带来一点想法。
权限系统设计的需求背景
业务流程复杂化:
随着业务越来越复杂,之前一个订单只需要一名销售跟进,现在却需要五个销售协同完成一个订单的流程(每个销售负责其中一个流程)。
此时我们就可以通过权限系统,分别赋予五个销售处理各自流程的权限(比如销售A只有录入意向订单的权限,销售B只有补充客户信息的权限,等等),这样每个销售都只能看到流转至自己手上的信息,将复杂的流程简单化。
信息敏感:
当同级部门不止一个时,便会在同一公司内产生竞争关系。例如,销售1组辛苦挖掘的用户数据并不想被销售2组看到。
权限系统可以设置不同部门的数据彼此独立,即便是各组组长也无法互看对方数据。
操作安全,权责明确:
在一个大型系统中,一个误操作产生的后果可能是非常严重的。
权限系统的存在最大程度上避免了这类问题——只要是界面上出现的功能,都是可以操作或不会产生严重后果的。
页面简洁:
如果系统没有进行权限管理,那么每个帐号登录后看到的界面都是一样的,充斥着各种与自己无关的,冗余的信息,甚至还需要专门培训,花费巨大的成本去学习。
经过权限系统的管理,每个帐号登陆后只能看到和自己有关的信息,可以更快速地理解自己工作范围内的业务。
权限系统的基本构成
权限系统主要由三个要素构成:帐号,角色,权限。
帐号是登录系统的唯一身份识别,一个账号代表一个用户。由自己注册或系统管理员统一注册分配。
角色为账号批量分配权限。在一个系统中,不可能为每个帐号订制权限,所以给同一类帐号赋予一个“角色”,以达到批量分配权限的目的。
权限又分为操作权限,页面权限和数据权限。
其中操作权限指的是用户可以进行的操作,例如是否可以新增、删除、编辑等。页面权限指的是可以看到的页面。数据权限指的是可以查看数据的范围。
简单范例如下:
权限系统基本构成
权限系统设计实例
实例背景
这是一个订单管理系统,销售、客服等角色通过系统完成整个订单的流转。
系统使用人数众多,等级复杂,有大量的销售团队存在同级竞争关系。
帐号管理
帐号管理
当前案例创建帐号的流程为:管理员在系统中新增帐号,用户自行通过邮箱激活。默认角色为“职员”,只分配最基础权限。
为了减少管理员的工作量,同时也支持通过excel上传,可以按照模版规范excel格式。
角色管理
当前案例中的角色就是“职位”,不同“职位”的用户,有着不同的权限。
角色管理的入口在“权限管理”页面,只具有基本的新增角色,编辑角色,删除角色,以及添加角色描述。
通常主流后台系统还会有复制角色等功能,复制角色是指:在新创建一个角色的时候,先选择一个已有的权限相似的角色,然后再修改新角色的权限。这样避免了权限太多的情况下,每个新角色都必须重新设置的繁琐情况。
权限管理
在实际设计中,很多系统会选择将页面权限与操作权限合并为功能权限,比如当前案例:
功能权限
每一个页面有一个总开关,打开则意味着分配了页面权限。针对页面内所有的字段,有增删查改这四种主要的操作权限。如果对页面内某些敏感字段需要进行单独的操作权限设置,可以打开高级设置,进行字段级的操作权限配置。如下图:
功能权限高级设置
在当前案例中,在有多个小组同级竞争的情况下,仅仅通过职位无法满足数据权限分配的需求,所以我们引入“部门”,以保证在同一级别的销售小组中,彼此信息保密,公平竞争。
另外,更高级别的部门,例如城市经理,甚至总经理,是理应有权限看到自己所负责部门以及下级部门的所有数据的。
所以“部门”这个权限组有了等级划分,根据等级进一步分配数据权限。例如,基层销售只能看到本人的数据,销售组长可以看到本部门的数据,总负责人可以看到本部门及下属部门的数据,总经理可以看得到全部数据。
部门的等级划分我们放在了公司设置页面,作为公司组织架构的介绍。
写在最后
权限系统的基本结构就是这样,但是现实中的权限设计却千差万别。
理解清楚基本概念,还要结合实际需求,去设计独一无二恰到好处的权限系统。也可以多参考些主流后台系统的权限设计,了解下类似的问题,别的系统是如何解决的。
一个小Tip:比起不厌其烦地去注册试用各种后台系统,不如直接去官网找帮助文档,有些简直详细到可以当prd了。
欢迎一起交流后台系统相关的设计思考~
NOTE:微信公众号又改版了,为了不错过每一篇干货文章,顺手星标或者置顶一下吧,这样我就更容易出现在你的微信里,毕竟我们从不说废话。
欢迎小伙伴加我的私人微信yw5201a1交流。
第二期产品经理培训告一段落,很多小伙伴找到了工作,成功转行产品经理。
很多小伙伴可能会有疑问,为什么我的产品分为1.0、2.0、3.0,其实我一直在一线互联网公司做产品经理,不是专职做培训的,随着我自己的不断成长,我会有很多新的感悟分享给大家,而且以前1.0、2.0的老学员上3.0课程都是不涨价的,也就是说早报名早划算。
而且我知道很多找我的主要是一些0-2岁的产品经理,他们现在最大的需求是找到一份产品经理的工作,并且能够安全度过试用期的干下去,所以我的课程不是给你上过一些理论就让你自己去找工作,我会利用自己的行业人脉资源,以及我自身的能力帮你包装简历,并成功找到一份工作,找到工作后可能开始阶段你还无法适应新的工作,没关系,我会陪你一起度过这个阶段,很多人都说转行产品经理,但怎样才算转行成功,那就是你找到一份产品经理的相关工作。
之前我的想法是直接带领大家做一款产品得了,这样大家就知道产品经理是做啥的,但是我发现没有基础的人如果上来就做产品的话,没有扎实的理论知识,没有和各相关业务部门的相处技巧,做出来的东西完全就是漂浮在空中,做产品经理包含写原型、画文档,但绝不仅仅包含写原型、画文档。
那是不是就不实践,当然不是,理论和实际相结合才是最好的教学方式,很幸运的是我现在也接了一些从0到1的项目,等保密期过后,我会拿出来和大家分享,包含前后端的原型以及文档。
我对产品的知识做了一个梳理,这样你对产品需要学习的技能就有个大概的了解,你学习到的所有碎片化知识都可以往里面丢,这也是我们的课表,如下图(看不清可以点击放大查看,相比2.0做了更新,区块链现在比较火,而且我们公司有区块链研究院,我也参加了,我会把学习到的知识分享给大家):
报名的童鞋在工作中有啥问题可随时咨询!
如果担心讲的质量,可以加我微信(yw5201a1)索要试听课程。
担心没时间听的小伙伴放心,我们会有录屏供你反复学习。
提供的特色服务:
1、我会带领大家以实战的形式进行竞品分析、原型设计、PRD的制作等.
2、大家都知道大公司分工比较细,就像古代御膳房的厨子一样,可能这个厨子就是个切菜的,你让他出来教你做厨师不是扯淡么!所以在我的课程 中我会邀请不同行业的产品经理教大家不同的知识,比如我会邀请专门做后台的产品经理教大家一些后台做产品的方式方法,这些产品经理有来自腾讯、央行、链家等。
3、我们不仅是培训,更是一个分享的社群,不会上完课给你发个没有卵用的毕业证书,只要我还在互联网行业混,就会不断的把我的经验分享出来给大家。
4、之前也有一些同学专门花钱咨询我产品经理面试的问题,两个小时300元,现在这些服务都免费赠送给私密学员,不论你是转行的,还是刚毕业,亦或是想进阶,只要是找工作遇到问题,都可咨询。
5、我会把我做的一些项目给大家说,同时大家在做产品过程中的一些问题可以随时咨询。
开讲时间:每周天早上10:30
总课时:终身制(只要我还在互联网行业混,就会不断的把我的经验分享出来给大家)
授课形式:QQ群视频授课
主讲人:刘大大
主讲人介绍:
我是刘大大,人人都是产品经理专栏作家,产品100年度优秀作者,现任某世界500强公司产品经理,曾在平安一账通,麦子金服,中赢金融等理财平台担任产品经理,曾发表过热门文章《产品经理面试习题大汇总》,《产品经理如何写好MRD文档》等,从来说的都是干货!
报名方式:本期课程报名费是2999,前10名2499,现在还有3个名额,想要报名的抓紧欧。
如果没有抢到前10名的小伙伴也不要气馁,届时两人报名2900;三人报名:2800;四人报名,2700;5人报名:2600。
扫描下方的二维码,付款后加微信:yw5201a1 拉入上课群。
送福利:把此文章转发到朋友圈保留24小时即可找我领取一份想要行业的原型和PRD文档。
往期精彩文章
点击“阅读原文”
即可进行报名。