从 CDS 读权限到个人数据保护,彻底理解 SAP ABAP AccessControl Annotations 在 SAP S/4HANA 项目里做 CDS 数据模型时,有一类问题很容易被低估。我们写好了一个 CDS View Entity,通过 Service Definition 暴露成 OData V4,再交给 SAP Fiori elements 做 List Report 或 Object Page。页面能打开,数据也能查出来,看起来整个链路已经跑通。可一旦把系统交给不同组织、不同公司代码、不同销售区域的业务人员,真正棘手的问题才出现。同一个 CDS Entity 返回的十万条销售订单,并不是所有登录用户都应该看到。销售组织 1010 的员工只能读取 1010 的订单,销售组织 2010 的员工只能读取 2010 的订单。审计人员可能需要跨公司读取数据,而普通业务人员不应该获得这样的权限。某些 CDS Entity 还包含 Business Partner、员工、银行账户等敏感信息,其中部分数据已经进入 End of Purpose 阶段,甚至已经处于 blocked 状态。如果把这些规则全部写进 ABAP 程序里的AUTHORITY-CHECK,整个设计很快会变得混乱。SAP CDS 提供了另一套机制,也就是 CDS Access Control。它使用 DCL,也就是 Data Control Language,把数据读取权限直接放到数据模型旁边声明。只要一个 CDS Entity 存在有效的 DCL Access Control,通过 ABAP SQL 读取这个 Entity 时,授权条件就可以被隐式加入查询过程,只返回当前用户允许看到的数据。SAP 官方文档把这种机制描述为 CDS 数据读取过程中的隐式限制,DCL 条件最终会参与数据库查询条件

相关新闻

最新新闻

AutoGen进阶实战:构建高效可控的多智能体协作系统

AutoGen进阶实战:构建高效可控的多智能体协作系统

1. 从“能用”到“好用”:AutoGen进阶的核心价值如果你已经跟着教程跑通了第一个AutoGen的“Hello World”,让两个智能体聊了几句天,那么恭喜你,你已经打开了多智能体协作开发的大门。但紧接着,你可能会遇到一些现实问…

2026/8/8 8:48:51
XSS实战:绕过过滤的payload变形技巧与防御策略

XSS实战:绕过过滤的payload变形技巧与防御策略

1. 项目概述&#xff1a;从“能弹窗”到“能实战”的跨越 很多刚接触Web安全的朋友&#xff0c;对XSS&#xff08;跨站脚本攻击&#xff09;的理解可能还停留在“在输入框里敲个 <script>alert(1)</script> &#xff0c;然后看能不能弹窗”的阶段。一旦弹窗成功&…

2026/8/8 8:48:51
Java与Python中特殊字符处理实战:编码、存储与传输

Java与Python中特殊字符处理实战:编码、存储与传输

在实际开发中&#xff0c;我们经常需要处理一些来自外部系统、用户输入或网络请求的字符串数据&#xff0c;这些数据可能包含一些非标准的、特殊的或难以直接处理的字符。例如&#xff0c;一个游戏角色或动漫角色的名字&#xff0c;如“芙兰朵露斯卡雷霆”&#xff0c;其中包含…

2026/8/8 8:48:51
SpringBoot整合MinIO:从基础配置到生产级对象存储实践

SpringBoot整合MinIO:从基础配置到生产级对象存储实践

1. 为什么说“看这一篇就够了”&#xff1a;从需求到选型的深度思考 如果你正在为一个Java项目寻找一个可靠、高性能且易于集成的对象存储方案&#xff0c;并且这个项目恰好基于SpringBoot&#xff0c;那么“SpringBoot整合MinIO”这个组合大概率已经进入了你的视野。网上相关的…

2026/8/8 8:48:51
105-用例维护与过期清理:为什么知识资产也会失效

105-用例维护与过期清理:为什么知识资产也会失效

适合对象:关注用例治理、资产质量、长期维护成本的测试工程师和平台管理员。 先说结论 用例维护与过期清理不是一个孤立功能,而是精准测试平台里帮助团队做判断的一环。 它重点解决的是:为什么知识资产也会失效。 用大白话讲,用例和目录治理的目标是把测试资产和版本、快…

2026/8/8 8:48:51
计算机毕业设计之基于Spring Boot的旅社管理系统的设计与实现

计算机毕业设计之基于Spring Boot的旅社管理系统的设计与实现

随着网络科学技术不断的发展和普及化&#xff0c;用户在寻找适合自己的信息管理系统时面临着越来越大的挑战。因此&#xff0c;本文介绍了一套旅社管理系统&#xff0c;在技术实现方面&#xff0c;本系统采用JAVA、HTML、CSS、JS以及MySQL数据库编程&#xff0c;使用springboot…

2026/8/8 8:43:51