通用数据权限设计思维概述

本文概述了数据权限设计的概念,包括主体、资源和规则描述,并深入探讨了规则与原子规则的区分,强调原子规则在逻辑简化、跨领域问题避免和故障溯源中的优势。同时,介绍了资源与条件描述的程序化方法,以及静态数据型和动态逻辑型规则的应用场景和设计考虑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、数据权限概述

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

2、数据权限设计

理论上来说,数据权限描述的是用户在访问受控的系统数据时,获取用户对数据资源适用的条件规则,而用户对资源的条件规则一般并不是唯一的,例如:
  某用户在填制单据时,使用的数据资源要符合如下规则:
  物料 的 物料分类 的 编码是以’01’开头的
  并且 部门的主管是’张三’
  并且 客户信息的所属组织是用户的所属组织。
  像这样的规则逻辑如何用程序来描述呢?
  2.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值