![]() |
#19 |
Участник
|
Нет, по моим наблюдениям авторизация все же происходит на сервере, но используются учетные данные пользователя, под которым непосредственно запущен клиент AX4, а не те, которые были использованы при доступе к хосту AOS. Механизм примерно такой: клиент AX4 получает в строковом представлении SID пользователя, соответствующий primary access token его основного потока (thread), и передает его в качестве одного из параметров RPC-вызова на сервер. В качестве еще одного из параметров передается адрес переменной, куда сервер пишет код возврата (что-то вроде COMVariantInOut::Out_retVal). Сервер обрабатывает полученные данные и возвращает клиенту код завершения, который NdrClientCall2 записывает по адресу переданной переменной. Клиент анализирует эту переменную и, если что-то не так, выдает соответствующее сообщение.
|
|
Теги |
active directory, доступ, ax4.0 |
|
|