Тема
:
Как дать доступ к Аксапте внешним пользователям?
Показать сообщение отдельно
06.06.2007, 14:51
#
28
gl00mie
Участник
3,684
/
5788
(
200
)
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге:
3
Цитата:
Сообщение от
mazzy
Такое ощущение, что авторизация происходит на клиенте. Т.е. запрашиваются учетные данные на хосте на котором сидит пользователь, а не учетные данные пользователя, из-под которого он входит на AOS.
Нет, по моим наблюдениям авторизация все же происходит на сервере, но используются учетные данные пользователя, под которым непосредственно запущен клиент AX4, а не те, которые были использованы при доступе к хосту AOS. Механизм примерно такой: клиент AX4 получает в строковом представлении SID пользователя, соответствующий primary access token его основного потока (thread), и передает его в качестве одного из параметров RPC-вызова на сервер. В качестве еще одного из параметров передается адрес переменной, куда сервер пишет код возврата (что-то вроде COMVariantInOut::Out_retVal). Сервер обрабатывает полученные данные и возвращает клиенту код завершения, который NdrClientCall2 записывает по адресу переданной переменной. Клиент анализирует эту переменную и, если что-то не так, выдает соответствующее сообщение.
gl00mie
Посмотреть профиль
Отправить личное сообщение для gl00mie
Найти ещё сообщения от gl00mie
Читать блог