1、数据权限概述
1.1 什么是数据权限?
数据权限是指对系统用户进行数据资源可见性的控制,通俗的解释就是:只有符合条件的用户才能看到该条件下对应的数据资源
.举个简单的例子:
本组织的销售人员只能看见本组织的客户信息。
某专职会计只能看见A部门及其下级部门的单据。
上述这些需求,使用硬编码也是可以实现的,但是在业务快速发展的过程中,类似这种数据权限需求会越来越多,如果全部采用硬编码的方式,无疑会给我们带来巨大的开发和维护压力。
1.2 要素分析
从数据权限的解释来看,只有符合条件的用户才能看到该条件下对应的数据资源
.由此可以分析出数据权限控制中几个关键要素:
1.主体。狭义上来讲,主体单指用户,但是实际应用上来讲,权限可能分配给某一群或某一类人更方便,所以广义上的主体,我们可以扩展到身份,角色,职务等跟用户相关的概念。
2.资源。即需要控制访问范围的数据,例如客户信息,部门信息。
3.规则描述。即主体对于特定的数据资源适用的条件。
以上是数据权限的基础三要素。
2、数据权限设计
理论上来说,数据权限描述的是用户在访问受控的系统数据时,获取用户对数据资源适用的条件规则,而用户对资源的条件规则一般并不是唯一的,例如:
某用户在填制单据时,使用的数据资源要符合如下规则:
物料 的 物料分类 的 编码是以’01’开头的
并且 部门的主管是’张三’
并且 客户信息的所属组织是用户的所属组织。
像这样的规则逻辑如何用程序来描述呢?
2.1