Текущее время: Ср, апр 24 2024, 21:04

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Пт, мар 18 2016, 18:27 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Вызываю по RFC ФМ из другой системы. В той системе такого пользователя нет и все падает в дамп.
Можно как-то проверить наличие пользователя в этой другой системе перед тем как вызвать ФМ?

p.s.варианты вида: завести пользователя - не подходят. В принципе все варианты, которые связаны с настройкой чего-то - не подходят. Ищется решение через ABAP


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Пт, мар 18 2016, 19:57 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Вы эксепшены ФМ-а обрабатываете? Отсутствие пользователя не вызывает дамп при вызове ФМ по RFC. Должно возвращаться исключение.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Пт, мар 18 2016, 20:31 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Обрабатываю.

Вызов ФМ-а происходит в системе X и ФМ вызывается из системы Y. дамп в системе Y. В системе X все обрабатывается и пользователь его даже не замечает. Зато замечают админы, которым не нравится огромное количество дампов в системе. Возникает дамп CALL_FUNCTION_SINGLE_LOGIN_REJ


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Пт, мар 18 2016, 20:59 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Ну в общем-то - правильно им не нравится.
Есть пачка нот
128447 - Trusted/trusting systems
1491645 - Unauthenticated system access via RFC or HTTP
1605516 - Update #1 to Security Note 1491645
2021691 - CALL_FUNCTION_SINGLE_LOGIN_REJ and trusted RC=1
По ним выходит, что через абап решения нет. Что-то решается накатом ноты, что-то корректными настройками и раздачей прав.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Сб, мар 19 2016, 08:28 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Валерка написал(а):
Вызываю по RFC ФМ из другой системы. В той системе такого пользователя нет и все падает в дамп.
Можно как-то проверить наличие пользователя в этой другой системе перед тем как вызвать ФМ?

p.s.варианты вида: завести пользователя - не подходят. В принципе все варианты, которые связаны с настройкой чего-то - не подходят. Ищется решение через ABAP

Можно создать другое RFC-соединение, указать там технического пользователя из системы B с правами на запуск ФМ BAPI_USER_GETLIST, вызывать этот ФМ для проверки существования пользователя.
Либо сразу вызывать нужный ФМ с RFC-соединением, в котором указан технический пользователь.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Сб, мар 19 2016, 10:40 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Удав написал(а):
Можно создать другое RFC-соединение, указать там технического пользователя из системы B с правами на запуск ФМ BAPI_USER_GETLIST, вызывать этот ФМ для проверки существования пользователя.
Либо сразу вызывать нужный ФМ с RFC-соединением, в котором указан технический пользователь.
Сейчас остановились на вызове ФМ-а для проверки существования пользователя. Хотя тут возникает вопрос: а почему сразу нельзя вызывать нужный ФМ под техническим пользователем? Самое очевидное - для пользователей там идет какая-то проверка прав, но вроде поиск по нужному ФМ-у таких проверок не выявил.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Сб, мар 19 2016, 12:18 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Валерка написал(а):
Сейчас остановились на вызове ФМ-а для проверки существования пользователя. Хотя тут возникает вопрос: а почему сразу нельзя вызывать нужный ФМ под техническим пользователем? Самое очевидное - для пользователей там идет какая-то проверка прав, но вроде поиск по нужному ФМ-у таких проверок не выявил.

Самая очевидная причина - не все пользователи должны вызывать этот ФМ, а только те, кто есть в этой системе.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Сб, мар 19 2016, 12:37 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Удав написал(а):
Самая очевидная причина - не все пользователи должны вызывать этот ФМ, а только те, кто есть в этой системе.

Ага. Трастинг жеж.. как сказал классик
Цитата:
не все могут смотреть. Вернее смотреть могут не только лишь все, мало кто может это делать

Или все ходят через траст-соединение с тех.юзером, или должно быть соответствие юзеров в системе. Похоже, что у ТС используется второй вариант.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Сб, мар 19 2016, 13:16 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Кодер написал(а):
Или все ходят через траст-соединение с тех.юзером, или должно быть соответствие юзеров в системе.

Одно другому не мешает. :wink:

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Сб, мар 19 2016, 13:36 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Удав написал(а):
Валерка написал(а):
Самая очевидная причина - не все пользователи должны вызывать этот ФМ, а только те, кто есть в этой системе.
Так ведь никто не мешает вызывать ФМ под техническим пользователем и передавать в параметре пользователя, который это делает. В этом ФМ-е проверять наличие пользователя в целевой системе и если его нет - то ничего не возвращать. Тем более что в данном случае вызывается RFC ФМ-прослойка, который затем вызывает нужный ФМ уже в целевой системе, который не является RFС фм-ом.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Ср, авг 24 2016, 11:19 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Вываливается следующая ошибка при вызове RFC ФМ-а. Как можно программно проверить, что пользователь не может вызвать этот ФМ из удаленной системы?
(Есть возможность под техническим пользователем запускать ФМ в удаленной системе. На текущей момент так и делается и в этом ФМ-е проверяется наличие пользователя в системе + через AUTHORITY_CHECK права S_RFC на возможность пользователя этот ФМ запускать - и результат положительный)
Code:
Указания по устранению ошибки
    The error code of the trusted system (T-RC) was 0.

    Meaning:
      0   Correct logon via trusted system.
      1 No trusted system entry for the caller system "RNP "
          with the installation number " ", if this exists, or
          the security key entry for system "RNP " is invalid.
      2 User "<USER> " does not have RFC authorization (authorization object
          (S_RFCACL) for user "<USER> " with client 400.
      3   The time stamp of the logon data was invalid.

    The error code of the SAP logon procedure (L-RC) was 2.

    Meaning:
      0   USER_OK                    Login was correct
      1   USER_NOT_ALLOWED           User or password incorrect
      2   USER_LOCKED                User locked
      3   STOP_SESSION               Too many attempts to log on
      5   BAD_BUFFER                 Error in the authorization buffer
      6   CUA_MASTER_RECORD          No external user check
      7   BAD_USER_TYPE              Invalid user type
      8   USER_NOT_VALID             Validity of user exceeded
      9   SNC_MAPPING_MISMATCH       User does not correspond to SNC name
     10   SNC_REQUIRED               Secure connection required
     11   SNC_NAME_NOT_IN_ACL        User not found in USRACL(EXT)
     12   SNC_SYST_NOT_IN_ACL        System not found in USRACL(EXT)
     13   SNC_MAPPING_NO_MATCH       No matching user found
     14   SNC_MAPPING_AMBIGUOUS      Multiple user matches found


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Пн, авг 29 2016, 12:50 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Валерка написал(а):
Вываливается следующая ошибка при вызове RFC ФМ-а.

А где сама ошибка?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Пн, авг 29 2016, 18:58 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Ошибка зеленым, дамп в удаленной системе. Судя по всему у пользователя нет прав на RFC запуск ФМ-ов. Но не очень понятно, почему проверка под системным пользователем успешна.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Вт, авг 30 2016, 08:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Валерка написал(а):
Ошибка зеленым, дамп в удаленной системе.

Я к тому, что в приведенном сообщении нет текста ошибки, есть только указания по устранению.
Да, и в них написано:
Code:
   The error code of the SAP logon procedure (L-RC) was 2.

    Meaning:
      0   USER_OK                    Login was correct
      1   USER_NOT_ALLOWED           User or password incorrect
      2   USER_LOCKED                User locked

Т.е. полномочия у пользователя есть, но он заблокирован :wink:

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить наличие пользователя в другой системе
СообщениеДобавлено: Пт, сен 09 2016, 09:17 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Блокировку пользователя можно проверить через ФМ SUSR_USER_LOCKSTATE_GET


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB