查看原文
其他

后台系统之账号权限系统设计

姜荨 产品刘 2022-10-16

一、系统概述

一个账号权限管理系统,主要包括三个元素:账号、角色、权限。我们所要管理的,也就是账号、角色和权限之间的关系。

账号:基本上所有的应用,无论是移动端,PC端,C端或B端产品,登陆都需要一个账号。只是对于C端的产品,都是用户自己注册即可。而对于后台产品而言,是需要公司内部人员去创建账号的。

角色:所谓角色,就是用来控制各个账号的操作范围的,可以理解为权限组。因为一个系统中权限太多,我们不可能每创建一个账号,就去挨个设置一遍权限,因此可以根据不同的部门、职级、工作内容等来对权限进行分组,制定成不同的角色,这样,在创建账号时,就可以直接赋予账号不同的角色,从而把角色拥有的权限给到这个账号。

权限:包括数据权限、操作权限和页面权限。

一、数据权限:即账号可以看到的数据范围,比如一个旅游行业的公司管理者能看到公司的所有数据,而亚太部的人只能看到亚太部门产生的数据。在设计过程中,数据权限控制的难易程度与业务和公司部门设置的复杂程度有关。

二、页面权限&操作权限:页面权限即账号可以看到的页面内容,操作权限即用户可以进行操作的内容,如增删改等。在产品设计的过程中,可以将操作权限和页面权限结合起来做到一个集合中,创建角色时将权限赋予给角色即可。

系统的主要流程为:将权限设置成不同的集合,即角色,再将角色绑定到账号上,那么这个账号就拥有了这些角色的权限集合。一个账号可以绑定多个角色,一个角色又拥有多个权限。

如上图所示:用户A拥有了角色1和角色2两个角色,从而拥有了“增加、删除、审核”的权限。

二、实例设计

1、账号管理

添加/编辑账号:

在创建账号时,一般都需要填写基本信息和设置角色。基本信息主要包括姓名,部门,账号备注等等,不同企业需求不同。
此外,为了控制数据权限,还可能会有账号等级的选择、账号关联、上下级关系绑定等操作。具体流程视设计情况而定。

2、角色管理

添加/编辑角色:

需要说明的是,角色不能随意删除或禁用,需要判定该角色有没有被哪个账号绑定,若该角色正在被使用,则不允许删除并给出相应的提示。

三、经验之谈

1、事先可以对账号进行一个等级划分(根据实际业务制定划分规则),然后可以根据等级来判定数据权限。如等级为公司高级管理者,则可以看到所有的数据,而等级为分公司管理员,则根据分公司的ID或者名称去获取对应的数据等。不过这个只能做一个比较粗略的控制,仅一个等级来控制数据权限是远远不够的;

2、考虑是否需要提供账号与账号之间做数据关联的入口。当然,这是属于比较特殊的情况,当设计的控制数据权限的规则都不能满足的时候,是否需要为特例提供操作入口;

3、考虑是否需要提供一个账号和数据之间直接做绑定的入口?如:等级为分公司管理员,由于业务需求,需要看到另外一个分公司的某条数据,该如何实现。当然,这里只是举了一个很简单的例子,实际实现时会有很多更细节和深入的问题;

4、若大部分账号在权限上都存在差异,那是否每个账号都需要有一个设置详细权限的地方,而仅把角色当做一个快捷选择的方式。(若不是必需,最好不要采取该种方式,这样会破坏权限的规范性,不利于维护和管理);

5、创建角色(权限组)之前,需要明确各个部门之间的业务范围及权限(包括页面权限和操作权限),并将这些人就行划分;当然,随着公司的业务和后台系统功能的改变,各个角色的权限是需要不断完善和调整的;

6、在一些系统流程中,还需要为权限设置互斥关系,这样的话,拥有互斥权限的两个角色就不能同时绑定给同一个账号了。是否需要这一步操作,需要根据业务情况而定;

7、对于一些基础的账号,在创建账号时,是否需要直接根据账号等级绑定默认角色(即给以默认权限)。

暂时想到的就是这些,后面想到了会再继续补充。

作者: 姜荨  来源:简书

帮你成长

我之前也创立过产品经理学习交流群,那个时候由于人数少,大家讨论也蛮积极的,但是微信群讨论的一大弊端就是无法将谈论的知识提炼出来,干货内容渐渐被口水话淹没,所以我建立了一个知识星球(原小密圈),在这里我会分享自己的思考感悟,你有问题可以随时像我发起提问,同时别人提的问题你也能看到,更重要的是你不论什么时候看这个回答它都在!

同时大大老师以后所有的live,小密圈的同学都可以免费学习。

为了更好的服务知识星球的小伙伴,大大老师将会在知识星球发表一些干货文章和音频供大家学习,当然这些内容公众号是没有的。

知识星球规则:

1、费用:为了保证社群的质量和活跃度,需要先付款99元,签到后会返还

2、返还费用:连续签到3天返还30元,连续签到5天返还50元,连续签到7天返还70元。

下图是返还凭证:

2、签到形式:可以是你的产品感悟,也可以是你学习中遇到的问题,也可以是你回答别人问题。(把你的感悟记录下来,把你遇到的问题提出来,帮助解决别人遇到的问题,这个过程就是成长,切记不要潜水,好歹你也是付费进来的)。

3、奖励:每周抽取最活跃的用户,(提出的问题+发表的产品感悟+回答别人问题)总数最多,即有可能获得现金红包、PRD文档、面试简历模板、原型文件等不同奖励形式。

奖励凭证:

邀请5个小伙伴加入,则本人加入的费用免除,并同时获赠68元现金奖励,当让为了保证群质量,邀请的小伙伴需要付费加入。

4、广告:社群内禁止发广告,否则即使付费,也要被T出去,如果想发广告,加入上课群,并红包走起,想加入上课群,加微信yw5201a1,拉你入群。

之前付费进入产品经理学习群的小伙伴,可以加微信(yw5201a1),免费拉你入群。

长按下方二维码加入我们吧!

更多干货可关注微信公众号:chanpinliu880 ,关注后可获得第一手干货。

私人微信号:yw5201a1,有问题也可找我交流。

送福利:截至下周一评论区点赞数最多的前5名,可以找我(加微信yw5201a1)领一份私密课干货视频,视频内容任选哦!

往期精彩文章

四个常用的数据分析方法

产品经理面试一对一咨询指导

Axure 原型 | 用Axure画流程图

老司机教你做产品经理2.0


点击“阅读原文”

即可进行系统的学习 


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存