什么是权限管理?百度百科解释道:权限管理,一般指根据系统设置的安全规则或者安全策略 ,用户可以访问而且只能访问自己被授权的资源,不多不少。
何为“不多不少”?简单来讲,就是“用户”可以“做什么”,以及可以“做到什么程度”,都是通过权限管理来控制。
在我们的生活当中,大到国家、政府,小到企业、家庭,到处都透露着“权限”的缩影。
以企业为例,不同的员工,所对应的岗位职责(也就是权限)也不同:
以上举例,局限于岗位职责。还有一些更加丰富、更加细腻的权限管理。比如:
这些岗位职责和资源(也称为数据)直接相关,又称为数据级权限管理。
在互联网行业中,权限管理系统中的角色一般跟企业的组织架构是一致的:企业组织架构中的员工在什么岗位要做什么事情,跟权限管理系统中的用户是什么角色被允许进行什么操作,是一种对应关系。
所以企业架构中的员工、岗位、职责和资源 ,分别对应了权限管理系统中的用户、角色、权限和数据。
从控制力度来看,可以将权限管理分为两大类:
从控制方向来看,也可以将权限管理分为两大类:
系统层面的权限管理,主要还是从控制力度上来进行设计。
权限系统主要由三大部分构成:用户管理、角色管理、权限管理。
账号作为一个用户登录系统的唯一身份标识,其主要通过用户管理进行维护,一般包含有列表页面、详情页面、新增页面。
可以先设想下用户管理大概需要用到哪些字段?梳理完的信息结构图如下:
注:这里以最小可行性的字段设计为例,不同的企业所需要的字段要素会有所增减。
“角色”为什么要支持多选?咱们下面再讲。
为什么这里不设计一个详情页面?因为字段较少,列表已经能显示下所有的字段要素,所以没必要再新增一个详情页面。只有当列表页显示不下所有字段要素的时候,才有必要设计一个详情页来展示所有的用户信息。
现在信息结构图有了,接下来就可以开始设计原型,设计完的页面如下:
(原型:用户管理)
(原型:新增用户)
系统中用户的权限是通过角色来控制,角色可以理解为具备一定权限的用户组,也叫权限的集合,划分角色的好处是可以大大降低用户权限分配的重复性工作量。
“角色管理”的信息结构图如下:
根据信息结构图所设计的页面如下:
(原型:角色管理)
(原型:新增角色)
做到这里,“角色管理”还称不上结束,因为还差一个最关键的“权限”。
上文中已经讲过,“权限”分为“功能权限”和“数据权限”。
“功能权限”可粗可细,粗可以到菜单级别,细则可达到功能按钮级别。
“数据权限”有两种处理方式:
那么,“角色管理”的信息结构图,加上“权限”后显示如下:
(橙色为新增“权限”部分)
在企业中,一个员工可以身兼多个岗位,一个岗位也可能有多个员工,所以员工和岗位是多对多的关系,由此可以得出“用户”和“角色”之间也是多对多的关系。一个“角色”可以分配多个“权限”,同样一个“权限”可以分配给多个“角色”使用,故“角色”和“权限”之间也是多对多的关系。
如果一个用户拥有多个角色,那这个用户的权限则取的是这多个角色权限的并集。
“角色管理”的页面加上“权限”后如下:
(原型:角色管理)
(原型:配置数据权限)
(原型:配置功能权限)
另外,页面上的功能权限展示,建议与系统模块、菜单页面的顺序来排列好,便于用户理解。
到此,权限系统差不多就设计完了,后续系统在不断的更新迭代时,权限系统也需要做对应的调整。大到功能模块的增、删,小到功能命名的变更,权限系统都需要做到同步变更,以求一一对应。
权限管理对于B端产品来说必不可少,权限管理具体应该做到什么程度,跟企业运营息息相关。在设计权限系统时,一定要结合企业发展,提前做好规划,才能满足业务需求。
作者:WOWdesign,研究设计价值最大化,涉及用户体验、品牌体验、空间体验。
本文由 @WOWdesign 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自Pexels,基于 CC0 协议