设计一款后台产品时,用户角色权限控制是最常遇到的问题,之前已经在《菜单权限设计实现》一文中讲述过最简单最基本菜单权限设计实现,今天来聊聊数据权限应该怎样设计。
原始需求:A企业有员工四名,分别是总裁张三、经理李四、员工王五和肖六,为A公司设计一款后台系统,要求每个用户有相同的菜单权限,但是看到的数据内容不一致。
1.关于用户和角色
(1)用户
用户是指系统的登录用户,可以理解为一系列的人员,例如登录用户为张三、李四、王五和肖六这几个人。
(2)角色
角色指用户在系统中担任的角色,是系统赋予用户的头衔,例如A公司后台系统角色可以定义为:总裁、经理、员工。
2.关于数据权限的作用
数据权限主要有两个方面的作用:
(1)为了解决数据安全性问题
用户在企业的级别越高,才能看到更多的数据内容,防止大量机密数据被普通员工查看或者外泄出去。
(2)避免恶性竞争
常见于企业销售部门,销售经理辛苦积累的客户资源,不会轻易共享给其他销售经理。
3.理解数据权限控制
(1)互斥型数据权限
这种权限控制的作用是为了避免恶性竞争,A企业中员工王五和肖六各自名下有不同的客户,所以他们在后台查询客户的时候,都只能查看自己名下的客户。
王五:只能看到自己名下的客户a、b、c、d、e、f、g
肖六:只能看到自己名下的客户h、i、j、k、l、m、n
(2)包含型数据权限
这种权限控制的作用是为了解决安全性问题,A企业中经理李四,作为员工王五和肖六的直接领导,有权查看他们名下的客户。
用户C(经理李四):
①能查看自己名下的客户o、p、q
②同时能查看下属员工名下的客户a、b、c、d、e、f、g、h、i、j、k、l、m、n
(3)复杂型数据权限
如果A企业空降了一名经理田七,和经理李四平级,共同管理员工王五和肖六,那么他有权查看员工名下的客户,但不能查看经理李四的客户(因为同级别)。
@夜雨原创作品,转载需取得授权。
更多交互设计文章,你可以关注我的博客网站:爱交互(iueux.com)
网友评论