Перечислить разрешенные методы при подключении через RFC?

Я могу подключиться как пользователь «foo» с паролем «bar» через SAP-RFC со своего компьютера к серверу SAP. Возможна ли интроспекция через SAP-RFC? N Я хотел бы знать, какие методы разрешено выполнять пользователю "foo". Я использую PyRFC, но AFAIK это не имеет значения для этого вопроса.

По словам пользователя Suncatcher, он недоступен из коробки.

Мои знания SAP пока ограничены. Но разве нельзя было бы выполнить цикл, подобный этому псевдокоду? (Этот код должен работать (как ABAP) внутри SAP и может быть доступен через 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

person guettli    schedule 08.08.2018    source источник


Ответы (1)


Я хотел бы знать, какие методы разрешено выполнять пользователю «foo».

С точки зрения концепции авторизации SAP не существует такой сущности, как метод, поэтому вы не можете перечислить разрешенные методы.

Вы можете получить только список назначенных вашему пользователю ролей из таблицы AGR_USERS (если у вас есть права на ее чтение :), а затем попытаться определить, какие функциональные модули, коды и программы вам разрешено вызывать. Говоря о RFC, я предполагаю, что вас интересуют функциональные модули. Но обнаружение всех доступных FM с поддержкой RFC требует отдельной и не очень простой разработки.

Итак, ответ - НЕТ. Вы не можете перечислить их прямо из коробки.

person Suncatcher    schedule 08.08.2018