B端系统设计之【权限】

1 评论 5719 浏览 49 收藏 10 分钟

编辑导语:很多企业都有属于自己的后台系统,在后台系统中会有很多权限的设计,对于企业人员的划分比较明确;一个好用的权限系统可以更灵活的进行管理,提高效率;本文作者分享了关于B端系统设计的权限设计,我们一起来看一下。

衡量一个B端系统好坏的重要标准是:它的权限是否足够细致,拓展性是否很强。

权限管理可谓是系统的基础,良好的权限功能设计可使系统稳定发展,避免后续由于业务变化导致权限功能大改甚至推倒重做的情况发生。

一、权限控制的类型

越大的组织越需要对权限的细化控制,所以权限功能越需要设计得更灵活,对于常用的权限控制可以分为:功能权限和数据权限,功能权限又分对象和级别,数据权限分为时间和区域。

下面我们依次对这些内容阐述:

1. 功能权限之对象

对象指赋予权限的组织、角色、岗位、人

组织的适用场景:组织可分为分部和部分;比如有北京和上海两个分部,限制北京的分部不能查看上海分部的内容;又如合同模块的权限限制开给法务部门。

角色的适用场景:比如财务的角色可默认查看报销、付款等功能模块。

岗位的适用场景:比如运营的岗位默认可以查看订单的模块和数据。

人的适用场景:可以设置某个人拥有此权限,或者所有人。

以上权限设置的开发优先级顺序为:人≥角色≥组织>岗位。

我们通过举例来说明,为什么这样安排优先级

在公司规模比较小的时候,可以简单设置哪些人可以看到哪些权限,维护成本不高

当公司规模较多时,有可能一些人控制某个模块的权限,这时候就需要引入角色的功能,把这些人绑定到一个角色里,再把角色赋予权限,这样就可以清晰的看见模块权限对应哪些角色。

若只绑定人而不绑定角色的弊端:

  • 当人数过多时没有分类,无法快速辨别哪类人拥有权限;
  • 当一群人拥有多个模块的相同权限时,需要把这群人分别为每个模块添加权限,工作量成倍数增长;
  • 当创建新用户时,需要为其增加多个模块的权限。

当部门人数很多,同一部门的大部分人拥有相同权限时,则可以通过组织(分部、部门)绑定权限,因为产生新用户必定后绑定某个部门,这样当创建好用户后,权限也相应生成。

在一部分公司,同一岗位的人员工作职责相同的情况下,可以通过岗位来绑定权限,例如运维组工程师,但这样情况比较少;因为大部分公司,同一岗位所负责的业务也是不一样的,比如产品经理,有的负责B端,有的负责C端,还有的负责中台项目等。

2. 功能权限之级别

级别也称账号安全级别,一般通过0-100的数字控制用户账号的功能权限,通常设置的数值越大,权限范围越大。

适用场景:比如创建的正式员工默认安全级别为10,外包员工默认为0,则当某个功能开放给所有人,并且这个功能仅限正式员工可操作时,可通过限制此功能的安全级别(调整为10)控制只能正式员工查看。

功能组合:安全级别还可与对象(组织、角色、岗位、人)组合,达到更精细化控制权限的目的,比如安全级别与部门相搭配,可控制此部门下特定的安全范围的人可以操作功能。

3. 数据权限之时间

权限中的时间是指数据到达某个时间节点后,是否要继续给用户同步。

应用场景:比如外部人员需要查看某一年度的数据时,只需开放对应时间的数据给他们,这么做就可以保证数据的安全,不会遭到泄露。

4. 数据权限之区域

权限中的区域也可以理解为范围,是指某一区间的值。

应用场景:比如共享单车的运维人员只需查看他所负责的区域的车辆数据即可,即网格化管理。

CRM系统中分大区,分城市,甚至分市级所在区,限制销售人员查看客户的数据,保证团队内容公平竞争。

在金融公司的系统里,对于同一用户提交的资料,不同岗位所可以看到的数据是不一样的;比如用户提交资料后,首先由审核的同学查看用户的基础资料及音视频认证等信息,通过后再由财务的同学操作放贷金额等信息。

二、权限的扩展功能

1. 菜单权限

菜单权限一般分为前端菜单权限和后端菜单权限。

前端菜单权限是指用户层面操作的菜单页面,后端菜单权限是指系统管理员、系统运维人员层面操作的菜单页面。

应用场景:比如视频审核人员可以看到待审核视频的菜单,但是财务人员无需看到此菜单。

对于菜单权限的控制,可以用到前文介绍的组织、角色、岗位和人。

下图中的类型,就是组织、角色、岗位和人。

2. 权限转移

对于员工从原部门调走,离职等情况的发生,当有新员工接手他的工作时,则需要权限转移的功能。

转移的内容一般为角色、菜单,更精细化的内容还可以分为下属、待办、已办、文档等,如果是CRM系统,还可以转移他的客户等。

三、权限系统初始化

对于刚上线的权限系统,需要做到如下几点:

默认创建系统管理员的角色(或者称为超级管理员),以及此角色对应的账号、密码、权限。需要拥有系统里所有功能权限。

配置默认权限,如系统管理员可默认拥有所有数据权限。对于默认权限,代码可进行写死,执行起来更方便。

创建角色,配置权限。根据实际业务,把公司内人员进行分类,确保各个角色的权限贴合使用场景,这一步工作需要和业务方同学多次沟通,以免有遗漏或配置错误的情况发生。

四、总结

目前的企业人员分工越来越精细化,越来越灵活,对于不同业务、不同管理形式的公司,可采用不同的权限策略。

在设计权限系统时,一定要根据企业发展,提前思考和规划好可能将要面临的业务变化,打好权限系统的架构;在此基础上迭代更新,这样才能更快满足业务需求。

 

本文由@小熊猫 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议

给作者打赏,鼓励TA抓紧创作!
更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 写的挺好的,如果有daemon的话可以发我参考一下

    回复