Учетные данные проверки подлинности клиента
Каждый прошедший проверку подлинности клиент должен предоставить учетные данные проверки подлинности серверу. В рамках RPC клиент сохраняет свои учетные данные проверки подлинности в привязке между клиентом и сервером. Для этого клиент вызывает RpcBindingSetAuthInfo или RpcBindingSetAuthInfoEx.
Существует два типа учетных данных— неявные и явные:
- Явные учетные данные существуют, когда клиент предоставляет имя пользователя, пароль и домен.
- Неявные учетные данные существуют, если клиент использует учетные данные из потока или маркера обработки, вызывая функции RpcBindingSetAuthInfo или RpcBindingSetAuthInfoEx.
Клиенты должны воздержаться от предоставления явных учетных данных, так как хранение, управление и получение пароля пользователя может привести к уязвимости безопасности в распределенной системе, если используются явные учетные данные.
Чтобы использовать неявные учетные данные, клиент вызывает RpcBindingSetAuthInfo(Ex). Система безопасности и RPC получают учетные данные из потока или маркера обработки для использования в сеансе проверки подлинности.
Если клиент использует явные учетные данные, пятый параметр этих двух функций имеет тип RPC_AUTH_IDENTITY_HANDLE. Это гибкий тип, который является указателем на структуру данных. Содержимое структуры данных может отличаться от каждой службы проверки подлинности. В настоящее время SSPs, поддерживаемые RPC, требуют, чтобы приложение RPC_AUTH_IDENTITY_HANDLE указывать на структуру SEC_WINNT_AUTH_IDENTITY. Структура SEC_WINNT_AUTH_IDENTITY содержит поля для имени пользователя, домена и пароля.