Teilen über


Clientauthentifizierungsanmeldeinformationen

Jeder authentifizierte Client muss Authentifizierungsanmeldeinformationen für den Server bereitstellen. Unter RPC speichert der Client seine Authentifizierungsanmeldeinformationen in der Bindung zwischen dem Client und dem Server. Dazu ruft der Client RpcBindingSetAuthInfo oder RpcBindingSetAuthInfoExauf.

Es gibt zwei Arten von Anmeldeinformationen: implizit und explizit:

  • Explizite Anmeldeinformationen sind vorhanden, wenn der Client Benutzername, Kennwort und Domäne bereitstellt.
  • Implizite Anmeldeinformationen sind vorhanden, wenn der Client Anmeldeinformationen aus dem Thread oder Prozesstoken verwendet, die die funktionen RpcBindingSetAuthInfo oder RpcBindingSetAuthInfoEx aufrufen.

Clients sollten keine expliziten Anmeldeinformationen angeben, da das Speichern, Bearbeiten und Abrufen eines Benutzerkennworts eine Sicherheitslücke in ein verteiltes System einführen kann, wenn explizite Anmeldeinformationen verwendet werden.

Um implizite Anmeldeinformationen zu verwenden, ruft der Client RpcBindingSetAuthInfo(Ex) auf. Das Sicherheitssystem und RPC erhalten Anmeldeinformationen aus dem Thread- oder Prozesstoken für die Verwendung in der Authentifizierungssitzung.

Wenn der Client explizite Anmeldeinformationen verwendet, ist der fünfte Parameter dieser beiden Funktionen vom Typ RPC_AUTH_IDENTITY_HANDLE. Dies ist ein flexibler Typ, der einen Zeiger auf eine Datenstruktur darstellt. Der Inhalt der Datenstruktur kann sich bei jedem Authentifizierungsdienst unterscheiden. Derzeit erfordern die von RPC unterstützten SSPs, dass ihre Anwendung RPC_AUTH_IDENTITY_HANDLE auf eine SEC_WINNT_AUTH_IDENTITY Struktur verweist. Die SEC_WINNT_AUTH_IDENTITY Struktur enthält Felder für einen Benutzernamen, eine Domäne und ein Kennwort.