权限检查 (★★★★)

权限检查 (★★★★)

#abap #abap-auth

概览表

概念 要点
权限对象 将字段分组用于访问控制
权限 分配给权限对象中字段的值
权限配置文件 包含权限,分配给用户
AUTHORITY-CHECK 用于验证权限的 ABAP 语句

SAP 权限概念

1
2
3
4
5
6
用户主记录
└── 权限配置文件
└── 权限
└── 权限对象
├── 字段 1 = 值
└── 字段 2 = 值
  • 权限对象:在对象类中定义,包含特定字段(无值)
  • 权限:分配给权限对象中字段的实际值
  • 权限配置文件:将权限分组,集成到用户主记录中

AUTHORITY-CHECK 语句

1
2
3
4
5
6
7
8
9
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD gv_carrid
ID 'ACTVT' FIELD '03'.

IF sy-subrc = 0.
" 用户有权限 → 执行功能
ELSE.
" 用户无权限 → 通知用户
ENDIF.
📌始终检查 sy-subrc
sy-subrc = 0 表示用户具有所需的权限。任何其他值表示权限被拒绝
💡权限检查的位置
权限检查应放在实际数据访问之前(例如在 SELECT 之前)。程序/事务级别的检查是补充,不能替代显式的 AUTHORITY-CHECK。

考试/测试模式

场景/关键词 答案
“sy-subrc = 0 表示?” 用户有权限
“AUTHORITY-CHECK 放在哪里?” 在受保护的操作之前
“事务级权限足够吗?” — 必须添加显式 AUTHORITY-CHECK

相关笔记