数据权限设计实现

设计一款后台产品时,用户角色权限控制是最常遇到的问题,之前已经在《菜单权限设计实现》一文中讲述过最简单最基本菜单权限设计实现,今天来聊聊数据权限应该怎样设计。

原始需求: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

数据权限设计实现_第1张图片

(2)包含型数据权限

这种权限控制的作用是为了解决安全性问题,A企业中经理李四,作为员工王五和肖六的直接领导,有权查看他们名下的客户。

用户C(经理李四):

①能查看自己名下的客户o、p、q

②同时能查看下属员工名下的客户a、b、c、d、e、f、g、h、i、j、k、l、m、n

数据权限设计实现_第2张图片

(3)复杂型数据权限

如果A企业空降了一名经理田七,和经理李四平级,共同管理员工王五和肖六,那么他有权查看员工名下的客户,但不能查看经理李四的客户(因为同级别)。

数据权限设计实现_第3张图片

@夜雨原创作品,转载需取得授权。

更多交互设计文章,你可以关注我的博客网站:爱交互(iueux.com)

你可能感兴趣的:(数据权限设计实现)