SAP 权限介绍

7 篇文章 1 订阅
本文详细介绍了ABAP开发中的权限管理,包括权限字段、权限对象、权限、权限配置文件和用户主记录的概念。通过事务代码如SE11、SU20、SU21、SE91、SU24和PFCG,可以创建和管理这些元素。AUTHORITY-CHECK语句用于执行权限检查。权限检查失败时,根据sy-subrc的值判断问题原因。
摘要由CSDN通过智能技术生成

在ABAP开发中,权限是一种用于保护功能或对象的方法。 开发人员确定在哪里检查授权以及如何检查。 用户管理员确定哪些用户可以执行该功能或访问对象。

核心概念:

权限字段

权限对象中的最小单位。 权限字段可以代表数据,例如数据库表中的关键字段,也可以代表活动,例如读取或创建。 活动被指定为 ID,它们存储在数据库表 TACT 和客户特定表 TACTZ 中。

通过SU20创建权限字段

权限对象

权限是基于存储库对象。 一个权限对象最多包含 10 个权限字段。 代表数据和活动的权限字段的组合用于授予和检查权限。 权限对象分配给权限对象类。

通过SU21创建权限对象类和权限对象

权限

作为权限配置文件一部分的用户主记录中的条目。 权限由权限对象中权限字段的完整值或通用值组成。 该组合决定了用户可以使用哪些活动来访问某些数据。它们是从事务 PFCG(用于角色编辑的配置文件生成器)生成的。 它们也可以使用事务 SU03 显示。

权限配置文件

多个权限的组合。 可以将多个权限配置文件分配给单个权限。 通过在用户主记录中指定权限配置文件,将权限分配给用户。

它们是从事务 PFCG(用于角色编辑的配置文件生成器)生成的。 它们也可以使用事务 SU02 显示。

用户主记录

在用户可以登录到 AS ABAP 之前,用户主记录必须存在。 主记录确定允许用户执行哪些操作以及分配给他们哪些权限。 默认设置(例如小数位在列表中的显示格式)也存储在用户主记录中。 权限配置文件可以多次分配给用户。它们在事务 SU01 中进行编辑。

权限检查

用于确定程序的当前用户是否具有一定权限的检查。 该检查将一个值与用户主记录中权限对象的每个权限字段中的相应条目进行比较。 检查指示器控制是否执行权限检查。 

使用 ABAP 语句 AUTHORITY-CHECK 显式或隐式进行权限检查。 例如,通过在 SAP GUI 的命令字段或 LEAVE TO TRANSACTION 或 SUBMIT 等语句中输入事务代码来启动事务时,会进行隐式权限检查

权限图

 

 

权限相关事务代码介绍

  1. SE11:创建域/创建数据元素
  2. SU20:创建权限字段(非必需,可用系统标准的,除非自定义)
  3. SU21:创建权限对象
  4. SE38:新建程序,引用权限对象
  5. SE91:创建事务代码
  6. SU24:事务代码分配权限对象
  7. PFCG:角色分配事务代码,并维护权限字段值
  8. SU01:分配用户角色

1)SE11创建域/创建数据元素

2)SU20:创建权限字段 

 

3)SU21:创建权限对象 

  • 先创建类
  • 在创建对象

 

4) SU24:事务代码分配权限对象

 

5)程序中增加权限检查代码

 IF r1 = 'X' OR r2 = 'X'.
     AUTHORITY-CHECK OBJECT 'ZPPD003'
                 ID 'ZCREATE' FIELD '04'.
    IF sy-subrc = 0.
      MESSAGE e398(00) WITH '你没有创建和修改工单的权限!'.
    ENDIF.
 ENDIF.

AUTHORITY-CHECK 介绍

AUTHORITY-CHECK OBJECT auth_obj [FOR USER user]
                        ID id1 {FIELD val1}|DUMMY
                       [ID id2 {FIELD val2}|DUMMY]
                        ...
                       [ID id10 {FIELD val10}|DUMMY].

auth_obj : 权限对象

id1-id10:权限字段

FIELD val1:权限字段值

DUMMY:不用检查该字段

FOR USER user :对哪些用户

sy-subrcMeaning
0权限检查成功或未进行检查。 在用户主记录中找到权限对象的授权。 它的值集包括指定的值。
4权限检查不成功。 在用户主记录中为权限对象找到一个或多个权限,它们包括值集,但没有指定的值,或者权限字段不正确或指定的字段过多。
12在用户主记录中未找到权限对象的授权。
24不设置此返回码。
40在用户中指定了无效的用户 ID。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geyulai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值