点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我想在功能模块执行之前添加一个授权检查。 我需要确保用户具有特定的角色才能执行功能模块。
目前,我有两种可能的方法:
- 为功能模块创建一个TCODE,并使用 S_TCODE 检查对TCODE的访问:
权限检查对象" S_TCODE" ID" TCD"字段" TCODE"。 如果sy-subrc <> 0。 写:"访问被拒绝"。 出口。 万一。
- 编写一个SQL查询并直接从 AGR_USERS 表中获取数据。
这两种方法都可以胜任,但似乎需要更多的工作而不是最佳实践。
我的问题:
有没有通用的方法来检查是否允许用户执行特定功能模块?
亲爱的迈克
这可能对您的S_RFC对象很有帮助,将ACTVT分配给16将允许您执行RFC。
请检查此链接-如果该链接为您提供了以下详细信息
https://help.highbond.com/helpdocs/direct-link/8/user-guide/zh-CN/Content/installation/assigning_sap_authorizations.htm
注意事项,
Venkat
您总是要检查授权对象(进行权限检查),而不要检查角色。
我会寻求AUTHORITY- 检查。 这是检查用户是否具有所需授权的标准方法。
请注意,授权可能来自不同的角色。 作为开发人员,您的职责不是检查角色,而是检查授权。 可以根据公司安全准则以多种不同方式维护和命名角色。
最好的问候
Dominik Tylczynski
由RFC调用,SAP首先将自动对S_RFC(*)进行功能模块名称的授权检查,如果没有相应的授权,它将使用其功能组的名称进行检查。 因此,您无需在程序中进行操作。
所以,您是对的。
(*),除非配置文件参数auth/rfc_authority_check设置为0,但 非常罕见,不建议使用。 如果需要更多信息,请参阅SAP文档: SAP库:RFC授权 ,说明931252-安全说明:功能组SRFC的权限检查, https://support.sap.com/en/security-whitepapers.html (关于RFC )
您好迈克B。
您应该使用授权 与功能模块的业务含义非常匹配的对象。 如果可能,我建议在这里使用SAP提供的授权对象。 例如。 如果您的职能部门处理重要文件,请使用与MIGO交易相关的授权对象。
如果您的功能涉及某些全新的业务功能,而您找不到SAP提供的任何相关授权对象,则只需创建一个满足您需求的新对象即可。
BR,HTH
Dominik Tylczynski
嗨,
请根据用户要求使用SUIM tcode检查用户是否具有角色或tcode访问权限。
一周热门 更多>