如何检查用户在ABAP中是否具有必需的授权角色?

2020-08-14 01:17发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想在功能模块执行之前添加一个授权检查。 我需要确保用户具有特定的角色才能执行功能模块。

目前,我有两种可能的方法:

  1. 为功能模块创建一个TCODE,并使用 S_TCODE 检查对TCODE的访问:
权限检查对象" S_TCODE"
 ID" TCD"字段" TCODE"。
 如果sy-subrc <> 0。
   写:"访问被拒绝"。
   出口。
 万一。
 
  1. 编写一个SQL查询并直接从 AGR_USERS 表中获取数据。

这两种方法都可以胜任,但似乎需要更多的工作而不是最佳实践。

我的问题
有没有通用的方法来检查是否允许用户执行特定功能模块?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想在功能模块执行之前添加一个授权检查。 我需要确保用户具有特定的角色才能执行功能模块。

目前,我有两种可能的方法:

  1. 为功能模块创建一个TCODE,并使用 S_TCODE 检查对TCODE的访问:
权限检查对象" S_TCODE"
 ID" TCD"字段" TCODE"。
 如果sy-subrc <> 0。
   写:"访问被拒绝"。
   出口。
 万一。
 
  1. 编写一个SQL查询并直接从 AGR_USERS 表中获取数据。

这两种方法都可以胜任,但似乎需要更多的工作而不是最佳实践。

我的问题
有没有通用的方法来检查是否允许用户执行特定功能模块?

付费偷看设置
发送
7条回答
路亽曱_Ryan
1楼 · 2020-08-14 01:24.采纳回答

亲爱的迈克

这可能对您的S_RFC对象很有帮助,将ACTVT分配给16将允许您执行RFC。

请检查此链接-如果该链接为您提供了以下详细信息

https://help.highbond.com/helpdocs/direct-link/8/user-guide/zh-CN/Content/installation/assigning_sap_authorizations.htm

注意事项,

Venkat

天桥码农
2楼-- · 2020-08-14 01:44

您总是要检查授权对象(进行权限检查),而不要检查角色。

3楼-- · 2020-08-14 01:39

我会寻求AUTHORITY- 检查。 这是检查用户是否具有所需授权的标准方法。

请注意,授权可能来自不同的角色。 作为开发人员,您的职责不是检查角色,而是检查授权。 可以根据公司安全准则以多种不同方式维护和命名角色。

最好的问候

Dominik Tylczynski

哎,真难
4楼-- · 2020-08-14 01:36

由RFC调用,SAP首先将自动对S_RFC(*)进行功能模块名称的授权检查,如果没有相应的授权,它将使用其功能组的名称进行检查。 因此,您无需在程序中进行操作。

所以,您是对的。

(*),除非配置文件参数auth/rfc_authority_check设置为0,但 非常罕见,不建议使用。 如果需要更多信息,请参阅SAP文档: SAP库:RFC授权 说明931252-安全说明:功能组SRFC的权限检查 https://support.sap.com/en/security-whitepapers.html (关于RFC )

clever101
5楼-- · 2020-08-14 01:26

您好迈克B。

您应该使用授权 与功能模块的业务含义非常匹配的对象。 如果可能,我建议在这里使用SAP提供的授权对象。 例如。 如果您的职能部门处理重要文件,请使用与MIGO交易相关的授权对象。

如果您的功能涉及某些全新的业务功能,而您找不到SAP提供的任何相关授权对象,则只需创建一个满足您需求的新对象即可。

BR,HTH

Dominik Tylczynski

Alawn_Xu
6楼-- · 2020-08-14 01:22
迈克B。是的,仅SU53 授权失败。 使用SU56查看所有用户授权->与S_RFC有关的授权.Authority-check用于检查用户的授权是否等于或大于所检查的授权。 对于您的情况,对于S_RFC,您的用户已经被授权访问所有功能组,甚至可能有权使用名称以U或UN等开头的所有功能组,即使对于尚不存在的功能组也是如此。
CPLASF-自律
7楼-- · 2020-08-14 01:40

嗨,

请根据用户要求使用SUIM tcode检查用户是否具有角色或tcode访问权限。

一周热门 更多>