Текущее время: Сб, мар 23 2019, 02:36

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Вт, окт 30 2018, 09:50 
Начинающий
Начинающий

Зарегистрирован:
Вт, окт 30 2018, 09:29
Сообщения: 2
Добрый день,

Прошу Вас помочь советом по текущей задаче, которую передо мной поставили.
В рамках разработки мобильного приложения мне поставлена задача разработать веб-сервис, который будет выдавать данные пользователю из БД и предоставлять пользователю возможность менять эти данные.
При изначальной версии ТЗ никаких проблем не возникает, однако в процессе ТЗ было изменено. Теперь задача выглядит следующим образом:
1) На фронт-энде мобильного приложения пользователь вводит свой логин и пароль от SAP (к примеру, "USER1"/"Qwerty123")
2) Веб-сервис должен оперировать не по пользовательской учётной записи из шага 1), а по системной учётной записи "USER_MOBILE_APPLICATION", которая специально для этого сервиса создавалась.
3) При этом всём логирование действий пользователя веб-сервиса должно проводиться конкретно по пользовательской учётной записи.

Пока что всё, до чего я смог додуматься, выглядит так:
1) Создаются два веб-сервиса, нижнего уровня (оперирует через системную учётку) и верхнего уровня (оперирует через пользовательскую учётку).
2) Пользователь авторизуется через сервис верхнего уровня.
3) Сервис верхнего уровня потребляет сервис нижнего уровня (т.е. по сути сервис верхнего уровня должен быть типа и service provider, и service consumer).

Прошу Вас поделиться своими соображениями по этоу вопросу. Реализуема ли технически такая схема? Подозреваю, что если даже реализуема, то это очень громоздкое решение, "через ж**у" сделанное. Наверняка есть куда более простое решение, которое я просто не вижу или не могу видеть в силу своего ограниченного опыта в программировании на ABAP.

Буду рад любым конструктивным предложениям.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Вт, окт 30 2018, 09:55 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 3036
Пол: Мужской
Вам не кажется что эти пункты противоречат друг другу?

Цитата:
2) Веб-сервис должен оперировать не по пользовательской учётной записи из шага 1), а по системной учётной записи "USER_MOBILE_APPLICATION", которая специально для этого сервиса создавалась.


Цитата:
3) При этом всём логирование действий пользователя веб-сервиса должно проводиться конкретно по пользовательской учётной записи.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Вт, окт 30 2018, 10:00 
Начинающий
Начинающий

Зарегистрирован:
Вт, окт 30 2018, 09:29
Сообщения: 2
Мне кажется, что противоречат, но руководитель проекта настаивает именно на такой реализации. А так как он мой непосредственный руководитель, то я обратился за помощью сюда, потому что моих занний явно недостаточно, чтобы сделать так, как того требует РП.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Вт, окт 30 2018, 10:18 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 14:35
Сообщения: 4487
Откуда: Москва
Как вариант вместо веб-сервиса нижнего уровня вы можете использовать вызов RFC - функциональных модулей, при этом использовать RFC соединение, требующее ввода логина и пароля и передавать ему на вход логин и пароль конкретного пользователя, переданный на вход внешнего веб-сервиса.

_________________
Удача - результат нашего желания (© А. Нортон)


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

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 3036
Пол: Мужской
LKU написал(а):
Как вариант вместо веб-сервиса нижнего уровня вы можете использовать вызов RFC - функциональных модулей, при этом использовать RFC соединение, требующее ввода логина и пароля и передавать ему на вход логин и пароль конкретного пользователя, переданный на вход внешнего веб-сервиса.

Может я туплю...
А можете конкретно пояснить как это сделать?

Вот есть какое-то доверенное соединение с техническим пользователем USER_MOBILE_APPLICATION.
Дергаем веб сервис по этому соединению (залогинились в систему первый раз под USER_MOBILE_APPLICATION)
Далее, вызываем RFC FM с destination, которое предварительно настроили в sm59, так чтобы был запрос логина и пароля.
Каким образом ему передать автоматически логин и пароль для того чтобы залогинится в систему повторно под другим пользователем (посредством RFC) и далее чтобы весь функционал в RFC ФМе соответствено уже выполнился от имени другого пользователя?


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

Зарегистрирован:
Вт, май 17 2005, 14:35
Сообщения: 4487
Откуда: Москва
Besa, автор топика пишет, что в интерфейсе мобильного приложения пользователь все-таки указывает свой реальный логин и пароль.

Получается, их можно передать как две текстовые переменные на вход внешнему веб-сервису (в который логинимся под техническим пользователем) и уже этот внешний веб-сервис их передаст на вход RFC-вызову ФМ.
Если веб-сервис вызывать по https, наверное, даже секьюрно выйдет.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Вт, окт 30 2018, 19:11 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 3036
Пол: Мужской
LKU написал(а):
Besa, автор топика пишет, что в интерфейсе мобильного приложения пользователь все-таки указывает свой реальный логин и пароль.

Получается, их можно передать как две текстовые переменные на вход внешнему веб-сервису (в который логинимся под техническим пользователем) и уже этот внешний веб-сервис их передаст на вход RFC-вызову ФМ.
Если веб-сервис вызывать по https, наверное, даже секьюрно выйдет.

Наверное я не так понял, в моем понимании внутри WS предлагался вызов RFC FM (CALL function xxx Destination yyy), с этой точки зрения не понятно как вызвать RFC FM с передачей ему логина и пароля.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Вт, окт 30 2018, 21:46 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 14:35
Сообщения: 4487
Откуда: Москва
Мда, хороший вопрос..

Из внешних языков программирования точно можно залогиниться в SAP систему под заданным логином/паролем и после этого начинать вызывать RFC-ФМ под полномочиями этого пользователя.
Вот, например:
https://sapland.ru/kb/articles/stats/in ... z-sap.html

Я был уверен что из-под ABAP тоже можно как-то перед вызовом ФМ по RFC передать на вход логином/пароль, но беглый поиск ничего такого не дал.

Все же надеюсь я просто плохо искал и способ такой есть.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Ср, окт 31 2018, 09:48 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 3036
Пол: Мужской
LKU написал(а):
Из внешних языков программирования точно можно залогиниться в SAP систему под заданным логином/паролем и после этого начинать вызывать RFC-ФМ под полномочиями этого пользователя.

Согласен

LKU написал(а):
Я был уверен что из-под ABAP тоже можно как-то перед вызовом ФМ по RFC передать на вход логином/пароль, но беглый поиск ничего такого не дал.
Все же надеюсь я просто плохо искал и способ такой есть.

Не уверен.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Ср, окт 31 2018, 13:08 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 11:34
Сообщения: 708
Откуда: Tashkent -> Astana -> Moscow
Пол: Мужской
может рассмотреть вариант создания джоба под необходимым пользователем, где и обернуть все необходимые манипуляции.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Ср, окт 31 2018, 17:31 
Специалист
Специалист

Зарегистрирован:
Чт, мар 29 2007, 12:51
Сообщения: 207
Откуда: Yugorsk.RU
Пол: Мужской
Странная несколько постановка задачи.
А для чего именно под пользователем нужно проводки делать? Принципиально важно чтобы какието стандартные ограничения полномочий срабатывали (т.е. чтобы если от имени пользователя вызван вебсервис, он бы через полномочие ограничивал область проводок)?

Или нужно лишь, чтобы проводка данных вебсервисом просто оставляла след для истории (например в документах изменений к проводке) что "сервис провёл даннный документ в интересах такогото пользователя"? Во втором случае наверное можно было бы от имени системной учётки и проводить, а потом генерить фиктивный документ изменений с логином пользователя (как будто он в сохранении документа участвовал).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Чт, ноя 01 2018, 06:09 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 09:25
Сообщения: 443
Besa написал:
LKU написал(а):
Из внешних языков программирования точно можно залогиниться в SAP систему под заданным логином/паролем и после этого начинать вызывать RFC-ФМ под полномочиями этого пользователя.

Согласен

LKU написал(а):
Я был уверен что из-под ABAP тоже можно как-то перед вызовом ФМ по RFC передать на вход логином/пароль, но беглый поиск ничего такого не дал.
Все же надеюсь я просто плохо искал и способ такой есть.

Не уверен.


не подойдет?
https://help.sap.com/doc/abapdocu_750_i ... _abexa.htm


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Чт, ноя 01 2018, 09:30 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 3036
Пол: Мужской
olegbash написал(а):

:pivo:
как то я это пропустил, вроде это то что надо.

Code:
REFERENCE_DESTINATION   Logical Destination
LOGON_CLIENT   Client
LOGON_USER   User
LOGON_PASSWORD   Password
LOGON_LANGUAGE   Language
GROUP   Logon Group
SID   System Id
SERVER   Destinatiomn Host
SYSTEM_NUMBER   Service
NO_GUI   boolean
TRUSTED   boolean
GATEWAY_HOST   Gateway-Hostname
GATEWAY_SERVICE   Gateway-Service
UNICODE   boolean
IGNORE_CONVERSION_ERRORS                                                              
CONVERSION_BYTES   Convertion bytes
EXPLICT_CODEPAGE   Communcation Codepage
ENABLE_TRACE   Trace active
RFC_BITMAP   Bitmap for Options
BASXML_ACTIVE   basXML active
CALLBACK_WHITELIST   Callback Whitelist Table
SNC_PARAMETER   SNC Structure
SCC_TRANSFER                                                              
FASTRFC_MODE   Use constants from CL_APCRFC_COMPRESSION_MODE
SERIALIZER_VERSION   Natural number
SUPPRESS_AUTHORITY_CHECK                                                              
DESTINATION   logical destination


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Чт, ноя 01 2018, 12:35 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 14:35
Сообщения: 4487
Откуда: Москва
olegbash написал(а):


Ура! И все-таки она вертится!
Как мне говорили когда я пришел стажером в SAP: "читайте хелп, там все написано". :rtfm:

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание и потребление веб-сервиса под ситемной учётной записью
СообщениеДобавлено: Чт, ноя 01 2018, 12:38 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 14:35
Сообщения: 4487
Откуда: Москва
Вот только версия должна быть совсем свежая:
Цитата:
From ABAP 7.50 on, CL_DYNAMIC_DESTINATION is the officially released and documented possibility to create a dynamic RFC destination and the only one to be used if SM59 is not sufficient.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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