网站内容管理系统后台 设计( 文章对账号权限系统设计的展开分析(图)! )
优采云 发布时间: 2021-10-19 22:12网站内容管理系统后台 设计(
文章对账号权限系统设计的展开分析(图)!
)
文章 分析账号权限系统的设计,希望对你有所启发。
一、系统概览
一个账号权限管理系统主要包括三个要素:账号、角色和权限。我们要管理的是账户、角色和权限之间的关系。
账号:基本上所有的应用,无论是手机、PC、C端还是B端产品,都需要一个账号登录。仅C端产品,用户只需要自己注册。对于后端产品,需要公司内部人员创建账号。
角色:所谓角色,就是用来控制每个账号的操作范围,可以理解为一个权限组。因为一个系统的权限太多了,我们不可能每次创建账号都一个一个的设置权限。因此,权限可以根据不同的部门、职级、工作内容等进行分组,设置为不同的角色。这样,在创建账户时,可以直接为该账户分配不同的角色,从而赋予该账户的角色权限。
权限:包括数据权限、操作权限和页面权限。
一、 数据权限:账户可以看到的数据范围。例如,旅游行业的公司经理可以看到公司所有的数据,而亚太部的人只能看到亚太部生成的数据。在设计过程中,数据访问控制的难度与业务和公司部门设置的复杂性有关。
二、页面权限&操作权限:页面权限是指账号可以看到的页面内容,操作权限是指用户可以操作的内容,如添加、删除、修改等。产品设计的过程,操作权限和页面权限可以组合成一个集合,在创建角色的时候可以给角色分配权限。
系统的主要流程是:将权限设置为不同的集合,即角色,然后将角色绑定到账户,那么账户就会拥有这些角色的权限集合。一个账号可以绑定多个角色,一个角色有多个权限。
如上图:用户A有两个角色,角色1和角色2,因此拥有“添加、删除、审核”权限。
二、示例设计1、账号管理
添加/编辑帐户:
创建账号时,一般需要填写基本信息,设置角色。基本信息主要包括姓名、部门、账户备注等,不同的企业有不同的需求。
此外,为了控制数据权限,可能会有账户级别选择、账户关联、上层关系绑定等操作。具体工艺视设计情况而定。
2、角色管理
添加/编辑角色:
需要注意的是,该角色不能随意删除或禁用。需要判断角色是否绑定了哪个账号。如果角色正在被使用,则不允许删除,并给出相应的提示。
三、说说经验
1、 可以将账户预先划分一个级别(划分规则根据实际业务制定),然后根据级别确定数据权限。如果级别是公司的高级经理,你可以看到所有的数据,级别是分公司经理,你可以根据分公司的ID或名称获取相应的数据。但这只能做一个比较粗略的控制,仅仅一级控制数据权限是远远不够的;
2、考虑是否需要提供账号与账号数据关联的入口。当然,这是一种比较特殊的情况。当无法满足设计的数据权限控制规则时,是否需要为特殊情况提供操作入口;
3、考虑是否需要提供一个入口来直接绑定账号和数据?比如级别是分行管理员,因为业务需要,需要查看其他分行的某条数据,如何实现。当然,这里只是一个非常简单的例子,实际实现中会有很多更详细更深入的问题;
4、 如果大部分账号权限不同,是不是每个账号都需要一个地方设置详细权限,只用角色作为快速选择的方式?(如非必要,最好不要采用这种方法,因为这样会破坏权限的标准化,不利于维护和管理);
5、在创建角色(授权组)之前,需要明确各个部门之间的业务范围和权限(包括页面权限和操作权限),并对这些人进行划分;当然,随着公司业务和后台系统的功能变化,各个角色的权限需要不断完善和调整;
6、 在一些系统进程中,也需要设置权限互斥关系。在这种情况下,两个权限互斥的角色不能同时绑定到同一个账户。是否需要此步骤取决于业务情况;
7、对于一些基础账号,在创建账号时,是否需要直接根据账号级别绑定默认角色(即赋予默认权限)?
这是我暂时想到的,以后想到再继续补充。
一个小产品,文章纯属个人工作经验总结,欢迎提建议。
本文由@姜传说原创发布给大家都是产品经理。未经许可禁止转载。
标题图片来自unsplash,基于CC0协议
给作者一个奖励,鼓励他努力!
称赞
6人奖励