从 Authorization Object 到 CDS 行级过滤,彻底理解 SAP BTP ABAP environment 的权限控制链路

发布时间:2026/8/25 14:13:27
从 Authorization Object 到 CDS 行级过滤,彻底理解 SAP BTP ABAP environment 的权限控制链路 在我们的 Sales App 里,最容易产生错觉的一件事,是应用能够正常运行、OData 服务能够访问、Fiori Elements 页面也能打开,于是便自然地认为权限控制已经差不多完成了。真正开始处理业务数据之后,这种想法很快就会遇到问题。销售应用中的订单通常会关联 Partner、Sales Organization、Company Code、Plant 一类组织或业务维度。两个员工即便都能打开同一个应用,也未必应该看到相同的数据。负责 Partner A 的员工可以查看 Partner A 的销售记录,并不代表他也应该看到 Partner B 的记录。应用入口权限解决的是能不能进入应用,Authorization Object 与 CDS Access Control 解决的则是进入以后究竟能看到哪些业务数据。Software-Heroes 在 2026 年 8 月公开的 Sales App 示例里,正是围绕这个问题加入了授权字段ZBSDMOPART、授权对象ZBSDMOPART和对应的 CDS DCL。GitHub 中对应的 commit 也可以看到,这次修改不仅改变了ZBS_R_SASALE的 Access Control,还新增了 Authorization Field、Authorization Object 以及 Authorization Object Extension 等 Repository Object。这套机制虽然运行在 SAP BTP ABAP environment 中,但思想并不是一套完全重新发明的 Cloud 权限体系。SAP 仍然保留了经典 ABAP Authorization Object