中后台产品经理如何为公司的后台管理系统设计一个合理的系统权限?在权限设计中我们经常会遇到下面几种问题:
1.权限的管理从哪些维度来划分?
2.权限划分的时候扩展性不够?
3.经常有一些特殊的数据和视图权限的要求。
4.用户分组和组织架构总是不一致,维护成本过高。
5.权限维度设计得太细,新增用户时学习成本太高。
6.权限管理随着使用时间越来越长,无法维护。
![9a07ccf83d8d91ce1018c388b1b1a905.png](https://i-blog.csdnimg.cn/blog_migrate/7052d14fd5b5b4f314dd939f6c3c20fa.jpeg)
首先要理解系统的权限分为数据权限和视图权限,数据权限是必须指定的用户才能获取的机制,一般在程序开发中会使用中间件进行权限校验,如果符合则返回数据,如果不符合则返回拦截获取数据的拒绝提示。视图权限其实和数据权限拦截的原理一样,是通过前端控制视图组件的获取权限,从而控制用户是否可以浏览相应的菜单、导航、相关操作按钮等。
![582e2e6e3065aed665f9953b9056befa.png](https://i-blog.csdnimg.cn/blog_migrate/d6a92e0d028c3f30bf77d178c15d11e5.jpeg)
其次要考虑设计权限的时候应该按什么样的模型进行分类和拆解?从系统用户组的维度来考虑,可以分为超管、普通管理员、其他业务角色,不同业务角色可分配不同的数据权限和视图权限。
![961604226d9acfa84f78cbf63a47d1b7.png](https://i-blog.csdnimg.cn/blog_migrate/c1e88ede0c451bd4a22f9a00b96e2dd8.jpeg)
还有从功能角度考虑的权限分配方法,就是把数据权限和视图权限做成分类后,可单选和多选。
![9a0a91a26245a746387398fc185ec2e7.png](https://i-blog.csdnimg.cn/blog_migrate/01ef19934e3f28ec7db363375cb7f314.jpeg)
此外用户本身又存在一定的地域、职级、多重身份、临时身份、业务专属权限等关系,那就涉及到权限叠加和用户组交叉、业务重叠的因素,导致要想构建一个简单可维护的权限管理系统越来越难。
![06e18e24caa652daf2f1aa576127c995.png](https://i-blog.csdnimg.cn/blog_migrate/a60fbfe22084d10d4738540998ebd3d5.jpeg)
最后用户的新增管理和更新、删除、冻结、业务数据继承等问题是权限管理系统里面最难设计和处理的地方,一个用户曾经拥有大量的系统数据,如何能够在用户的角色或者系统状态改变时合理的继承和处理其产生的数据是一件比较麻烦的事情,可能还会遇到用户离开以后,又回来继续用,其他用户继承另一个用户的业务数据。
![7cb168e9d754e8acbf495bdd5fcefc74.png](https://i-blog.csdnimg.cn/blog_migrate/981c661af043f3af9587896118eb4e80.jpeg)
因此如何设计一个优雅而高可维护性的权限管理系统呢?中后台产品经理一定要先知道有这么多的情况需要考虑,在系统和使用人群不断增加的时候,要以用户为中心去设计,通过控制用户和用户、用户和业务之间的关系来控制整体的权限和细节。
![63364c6f0fe9b839d732c31939c2ac04.png](https://i-blog.csdnimg.cn/blog_migrate/19dc5ae405f446d85b81fde17bfc6646.jpeg)
这一节课程我们就学到这里,下一节我们学习企业组织架构管理方面的知识,教你了解企业组织架构在产品设计和企业管理中的价值和意义。