Поделиться через


Учетные данные проверки подлинности клиента

Каждый клиент, прошедший проверку подлинности, должен предоставлять серверу учетные данные проверки подлинности. В RPC клиент сохраняет свои учетные данные проверки подлинности в привязке между клиентом и сервером. Для этого клиент вызывает RpcBindingSetAuthInfo или RpcBindingSetAuthInfoEx.

Существует два типа учетных данных — неявные и явные:

  • Явные учетные данные существуют, если клиент предоставляет имя пользователя, пароль и домен.
  • Неявные учетные данные существуют, когда клиент использует учетные данные из потока или маркера процесса, вызывая функции RpcBindingSetAuthInfo или RpcBindingSetAuthInfoEx .

Клиентам следует воздерживаться от предоставления явных учетных данных, так как хранение, обработка и получение пароля пользователя могут привести к уязвимости системы безопасности в распределенной системе, если используются явные учетные данные.

Чтобы использовать неявные учетные данные, клиент вызывает RpcBindingSetAuthInfo(Ex). Система безопасности и RPC получают учетные данные из потока или маркера процесса для использования в сеансе проверки подлинности.

Если клиент использует явные учетные данные, пятый параметр этих двух функций имеет тип RPC_AUTH_IDENTITY_HANDLE. Это гибкий тип, который является указателем на структуру данных. Содержимое структуры данных может отличаться для каждой службы проверки подлинности. В настоящее время поставщики SSP, поддерживаемые RPC, требуют, чтобы приложение RPC_AUTH_IDENTITY_HANDLE указывало на структуру SEC_WINNT_AUTH_IDENTITY . Структура SEC_WINNT_AUTH_IDENTITY содержит поля для имени пользователя, домена и пароля.