Zwischenspeichern von Anmeldeinformationen

Zwischenspeichern von Anmeldeinformationen auf NTLM-KA-Verbindungen

Die HTTP-Server-API speichert Anmeldeinformationen nur bei Keep-Alive-Verbindungen (KA) für die NTLM-Authentifizierung zwischen. Standardmäßig speichert die HTTP-Server-API die Anmeldeinformationen zwischen, die bei der ersten Anforderung abgerufen wurden, die an eine KA-Verbindung gesendet wurde. Der Client kann nachfolgende Anforderungen für KA-Verbindungen ohne Autorisierungsheader senden und die Authentifizierung basierend auf dem zuvor eingerichteten Kontext abrufen. In diesem Fall sendet die HTTP-Server-API das Token basierend auf den zwischengespeicherten Anmeldeinformationen an die Anwendung. Anmeldeinformationen für eine von einem Proxy gesendete Anforderung werden nicht zwischengespeichert. Die Anwendung deaktiviert die NTLM-Zwischenspeicherung von Anmeldeinformationen, indem das DisableNTLMCredentialCaching-Flag in der HTTP_SERVER_AUTHENTICATION_INFO-Struktur festgelegt wird, die in Aufrufen von HttpSetServerSessionProperty oder HttpSetUrlGroupProperty bereitgestellt wird. Wenn die Zwischenspeicherung von Anmeldeinformationen deaktiviert ist, verwirft die HTTP-Server-API die zwischengespeicherten Anmeldeinformationen und führt die Authentifizierung für jede Anforderung aus.

NTLM-Zwischenspeicherung von Anmeldeinformationen für bestimmte URLs

Die Anwendung bestimmt, ob die von der HTTP-Server-API zurückgegebenen Anmeldeinformationen für die Anforderung zwischengespeichert werden, indem der Flags-Parameter der HTTP_REQUEST_AUTH_INFO-Struktur überprüft wird. Dieser Parameter gibt HTTP_REQUEST_AUTH_FLAG_TOKEN_FOR_CACHED_CRED an, wenn das zurückgegebene NTLM-Token aus dem Cache abgerufen wurde. Die Zwischenspeicherung von Anmeldeinformationen wird in einer URL-Gruppe für alle URLs in der Gruppe angegeben. Die Zwischenspeicherung von Anmeldeinformationen auf URL-Basis wird nicht unterstützt. Anwendungen können jedoch bestimmen, ob zwischengespeicherte Anmeldeinformationen pro URL akzeptiert oder abgelehnt werden sollen, indem sie das HTTP_REQUEST_AUTH_FLAG_TOKEN_FOR_CACHED_CRED-Flag in der HTTP_REQUEST_AUTH_INFO-Struktur überprüfen. Die Anwendung lehnt die zwischengespeicherten Anmeldeinformationen ab, indem sie eine 401-Authentifizierungsanforderung an den Client sendet. Der Client sendet die Anforderung dann mit den Autorisierungsheadern erneut und löst einen neuen Authentifizierungs-Handshake mit der HTTP-Server-API aus.

Standardauthentifizierung

Wenn ein Standardauthentifizierungsheader in der Anforderung enthalten ist, analysiert die HTTP-Server-API den Header, um den Benutzernamen und das Kennwort abzurufen. Der Benutzername wird dann in die Benutzer- und Domänenteile analysiert. Die HTTP-Server-API speichert das Zugriffstoken, das für die Standardauthentifizierung abgerufen wurde, basierend auf dem Benutzernamen und dem Domänenschlüssel zwischen. Wenn eine neue Anforderung empfangen wird, ruft die HTTP-Server-API das Zugriffstoken basierend auf dem Benutzernamen und der Domäne ab. Das Kennwort in der Anforderung wird dann mit dem zwischengespeicherten Kennwort überprüft. Das zwischengespeicherte Zugriffstoken wird gelöscht, wenn das Limit für die Laufzeit (Time-to-Live, TTL) erreicht wird.