Ich frage mich, ob wir NTLM (Windows) -Authentifizierung verwenden - wie Server ermittelt, ob Benutzer bereits angemeldet ist oder nicht. Also, wenn ich zum ersten Mal Zugriff auf die Website - der Server mir sagt, er möchte mich über NTLM authentifizieren:NTLM-Authentifizierung über HTTP
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
Dann Client und Server wenige Anfragen Austausch - tatsächlich/Antwort-Phase Herausforderung geschieht hier, vor allem Server und sendet Herausforderung Für den Client berechnet der Client die darauf basierende Antwort und sendet sie zurück. Anschließend kontaktiert der Server den Domänencontroller, um diesen zu überprüfen. Ok, wir sind fertig.
Aber wenn ich authentifiziert bin und zu irgendeiner Seite gehe, gibt es keine Authentifizierungsheader mehr. Woher weiß der Server, dass ich bereits authentifiziert bin?
P.S. Ich dachte, IIS bindet Client über MAC oder IP, aber das stimmt nicht. NTLM funktioniert für einen einzelnen Browser. Es wurden auch keine NTLM-spezifischen Cookies gefunden.
Danke, in der Tat habe ich nicht darüber nachgedacht. BTW - laut wikipedia 'Persistente Verbindungen Timeout nach 60 Sekunden Inaktivität, die über die Windows Registry änderbar ist.' Bedeutet das, dass der Browser alle 1-2 Minuten ein Kerberos-Ticket sendet? – seeker
Ich weiß nicht wirklich die Details der Implementierung, ich denke, die Anmeldeinformationen sind im Browser zwischengespeichert und können bei Bedarf erneut gesendet werden. Sie können sich den Netzwerkverkehr ansehen, um das herauszufinden. –