大数跨境
0
0

【学习系列】SAP RAP 8:行为定义-Authorization Control

【学习系列】SAP RAP 8:行为定义-Authorization Control DeveloperMrMeng
2025-10-20
0

 

前言

前一篇中介绍了关于行为定义中草稿的概念,本篇将介绍授权控制的概念和实现方式,授权控制主要控制用户对数据或者功能的操作权限,确保用户只能对自己有权限的数据进行访问或者操作。


正文

权限检查一般用于两种场景:读取操作修改操作

  • • 读取操作(Authorization Checks for Read Operations):通过ABAP CDS的数据控制语言(DCL)实现,利用CDS访问控制对象(Access Control Objects)限制用户对数据的可见范围。
  • • 修改操作(Authorization Checks for Modify Operations):通过在行为定义中调用权限对象检查,用来控制标准操作或者自定义操作是否有权限,其中又分为 Global Authorization全局授权 和 Instance Authorization实例授权 以及 Authorization Check against Incoming Values (Precheck)预检查。

下面分别介绍这几种不同控制场景的实现方式。


读取操作

DCL[1](Data Control Language)是ABAP CDS的一部分,是SAP ABAP CDS特有的一种权限控制定义语言,通过定义CDS访问控制规则(Access Control)来控制对CDS实体的读取访问控制。

工作原理:

  • • 通过定义访问条件限制用户对数据的读取权限
  • • 自动应用于CDS视图的查询结果
  • • 在managed BO中自动应用于EML读取操作
  • • 在unmanaged BO中需要在READ中实现显示检查

在本例中目前没加添加权限控制,所以你创建的所有数据都可以看到:

现在为其添加Access Control,要求仅能显示自己创建的单据,且权限对象分配了指定订单类型的单据。

Step 1:为根视图创建访问控制

这里按照需求选择合适的模板,这里选择使用PFCGAspect模板,因为需要使用标准的权限对象进行检查:

此处添加了两个限制条件,一个是订单类型必须满足权限对象分配的值(取决于权限对象分配的值),一个是创建者必须是自己(强制条件)。

【声明】内容源于网络
0
0
DeveloperMrMeng
从事SAP开发相关工作多年,不定时更新一些技术总结,佛系更文,如果觉得有用不妨一键三连😁
内容 67
粉丝 0
DeveloperMrMeng 从事SAP开发相关工作多年,不定时更新一些技术总结,佛系更文,如果觉得有用不妨一键三连😁
总阅读10
粉丝0
内容67