列出通过RFC连接时允许的方法?

时间:2018-08-08 06:14:49

标签: sap saprfc pyrfc

我可以以用户“ foo”和密码“ bar”通过SAP-RFC从我的机器连接到SAP服务器。 是否可以通过SAP-RFC进行内省?我想知道允许用户“ foo”执行哪些方法。我正在使用PyRFC,但是AFAIK对于这个问题应该无关紧要。

根据用户Suncatcher的说明,它不是开箱即用的。

到目前为止,我对SAP的了解还很有限。但是难道不可能像这样的伪代码循环吗? (此代码应在SAP内部运行(作为ABAP),并且可以通过RFC公开)

user = 'foo'
allowed_methods = [] # empty list
for func in get_all_functions_which_are_exported_via_rfc():
    if not check_if_user_has_permission_to_call_rfc_function(func, user):
        # not allowed
        continue
    # user is allowed
    allowed_methods.append(func)
return allowed_methods

1 个答案:

答案 0 :(得分:3)

  

我想知道允许用户“ foo”执行哪些方法。

就SAP授权概念而言,没有诸如 method 之类的实体,因此您无法列出允许的方法。

您只能从表AGR_USERS中获取为用户分配的角色的列表(如果您有权读取它:),然后尝试确定允许调用哪些功能模块,tcode,程序。在谈到RFC时,我假设您对功能模块感兴趣。 但是要检测所有可用的启用RFC的FM,需要进行单独的开发,而不是非常简单的开发。

所以答案是。您不能立即将它们列出。