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