RPC-аутентификация

Я работаю над передачей данных на локальном компьютере с помощью удаленных вызовов процедур (RPC). Мое требование - использовать RPC для передачи данных между двумя процессами, но сервер должен каким-то образом аутентифицировать клиента.

Я наткнулся на RpcBindingSetAuthInfo, который устанавливает информацию для аутентификации и авторизации. Четвертый параметр — служба аутентификации, которая может быть любой из http://msdn.microsoft.com/en-us/library/windows/desktop/aa373556%28v=vs.85%29.aspx

WINNT-аутентификация в моем случае неприменима, так как клиент не запускается под каким-либо конкретным пользователем. Глядя на документацию, я не понимаю, какая служба аутентификации применима в моем случае. Мне нужен какой-то способ аутентификации клиента на основе какого-то токена и т. д. Было бы здорово, если бы кто-нибудь мог пролить свет/дать несколько указателей аутентификации RPC.

Спасибо,


person user832096    schedule 03.05.2014    source источник


Ответы (1)


Да, генерация токенов — это то, что мы также используем в нашем продукте. Например, когда клиент запрашивает подключение к серверу, после аутентификации сервер генерирует уникальный идентификатор, который отправляет клиенту. Теперь клиент создает экземпляр интерфейса сервера, который возвращает указатель, по которому может происходить вся дальнейшая коммуникация. Когда клиент отключается, сервер отменяет регистрацию или удаляет уникальный идентификатор из своего списка подключенных клиентов.

person sameer karjatkar    schedule 06.05.2014
comment
Вы имели в виду, что мне не нужно использовать RPCSecurityCallback для аутентификации. Можете ли вы поместить код, чтобы подробно объяснить подход. - person user832096; 07.05.2014