我可以以用户“ 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
答案 0 :(得分:3)
我想知道允许用户“ foo”执行哪些方法。
就SAP授权概念而言,没有诸如 method 之类的实体,因此您无法列出允许的方法。
您只能从表AGR_USERS
中获取为用户分配的角色的列表(如果您有权读取它:),然后尝试确定允许调用哪些功能模块,tcode,程序。在谈到RFC时,我假设您对功能模块感兴趣。
但是要检测所有可用的启用RFC的FM,需要进行单独的开发,而不是非常简单的开发。
所以答案是否。您不能立即将它们列出。