轻松hold住权限设计的关键要点

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

权限的设计对于B端产品来说,是一个系统的底层设计,在初期设计时,一定考虑到未来权限的可拓展性,否则一旦改动起来,就是伤筋动骨的大事。本文从六个方面分析权限设计,对权限设计感兴趣的童鞋不要错过。

轻松hold住权限设计的关键要点

权限设计的原则:

基于用户的真实工作场景对数据权限和功能权限进行的边界条件设计。

权限设计的目的:

  • 避免用户看到过多跟自己工作场景无关的页面(界面清爽);
  • 控制用户可操作的功能,避免关键功能被无关人员误操作(规避风险);
  • 控制用户看到的数据范围(数据隐私);
  • 对权限高低进行控制,自上而下对数据进行把控(数据把控);

一、权限的2个维度

  • 功能权限:用户可操作的边界范围;
  • 数据权限:用户可看到的数据范围;

在做权限设计时,建议将数据权限与功能权限进行分开设计,方便自由搭配,灵活配置。因此会存在低数据,高权限的情况和高数据,低权限的情况。

二、权限设计思路

轻松hold住权限设计的关键要点

一个角色对应一个功能权限,一个角色对应多个用户,每一个用户都有属于自己的数据权限;

权限的设计思路需要先设计角色盒子,每一个盒子有相同的工作场景,因此所具备相同的功能权限;然后再在盒子里面添加对应权限的用户。每一个用户均可以建立自己的乔梁,从而匹配自己所见的数据权限范围。

三、功能权限设计

功能设计,需设计两部分内容:

  1. 决定用户看到页面,子页面以及可操作的按钮;
  2. 决定是否有权利修改他人创建的数据(划分了权限级别的高低);

很多公司的权限设计会基于公司的组织架构进行匹配。这种更适合对于组织架构直接影响用户权限的应用场景,并且根据组织架构对权限的高低进行了划分,但用户真实的使用场景并非完全基于组织架构所对应的权限关系,其灵活度较低,但优点是组织架构调整后,权限也可实时进行同步调整。

另一种是对完全自定义操作的界面以及权限的高低,如下图:

轻松hold住权限设计的关键要点

当角色类别较为固定时,可以进行初始化预置,完成对应权限的匹配,节省工作量。当然允许对权限进行修改和调整。

四、数据权限设计

在设计数据权限时,需要找到人与数据的桥梁,针对不同的业务场景,其桥梁也不同。比如以电商后台为例,可将人会与对应的店铺进行关联,从而可以看到关于该店铺的相关数据。

要点:注意桥梁合理性,桥梁不能为死数据,如果任何因素影响桥梁时,也需对用户对应的数据权限同步进行调整。

五、方案设计的Tips

  • 勾选-权限配置页面中增加“重置清空”功能,可以一键清空已填项信息;
  • 人员的权限移动,可以在【查看用户】列表中增加“移动”功能,方便对人员在不改变数据权限的情况下进行角色类别的快速移动;
  • 操作日志:对用户的关键的作行为进行记录,记录信息包含操作行为,操作人,操作时间等,从而规范用户行为,操作日志可作为排查依据,方便日后追溯问题。

六、注意事项

旧数据清理:如果权限并非从0-1的规划设计时,将存在已有的历史用户数据,因此,需要重新将历史数据匹配到新的权限规则中,这也是产品经理需要在方案构思中要考虑的问题。

对IT管理员和日常运维人员角色进行补充:在设计权限角色时,需要考虑到IT管理员和日常运维角色的使用场景,并根据场景不同,匹配对应的数据和功能权限。毕竟他们也是整个项目团队中非常重要的角色,也需要基于数据进行问题排查和用户答疑。

以上就是笔者对后台权限部分的梳理。权限部分的调整要做到灵活性,可配置性,兼顾未来的可拓展性,否则每次的改动对开发和测试人员来说都是一件费时费力头疼的事情。

 

本文由@黑心老巫婆 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

随意打赏

提交建议
微信扫一扫,分享给好友吧。