AD FS-Problembehandlung: Schleifenerkennung
In AD FS tritt eine Schleife auf, wenn eine vertrauende Seite ein gültiges Sicherheitstoken kontinuierlich ablehnt und zurück zu AD FS umleitet.
Schleifenerkennungscookie
Um dies zu verhindern, hat AD FS ein sogenanntes Schleifenerkennungscookie implementiert. Standardmäßig schreibt AD FS ein Cookie namens MSISLoopDetectionCookie in passive Webclients. Dieses Cookie enthält einen Zeitstempelwert und einen Wert für ausgegebene Tokens. Dadurch kann AD FS nachverfolgen, wie häufig und wie oft ein Client den Verbunddienst innerhalb eines bestimmten Zeitraums aufgesucht hat.
Wenn ein passiver Client innerhalb von 20 Sekunden fünf (5) Mal den Verbunddienst für ein Token aufsucht, löst AD FS den folgenden Fehler aus:
MSIS7042: In den letzten „{1}“ Sekunden wurden von der gleichen Clientbrowsersitzung „{0}“ Anforderungen ausgeführt. Wenden Sie sich bezüglich der Einzelheiten an den Administrator.
Der Beginn einer Endlosschleife wird häufig durch Fehlverhalten einer Anwendung der vertrauenden Seite verursacht, die das von AD FS ausgestellte Token nicht richtig verwendet. Die Anwendung sendet den passiven Client dann wiederholt an AD FS zurück, um ein neues Token zu erhalten. AD FS stellt dem passiven Client jedes Mal ein neues Token aus, sofern die fünf Anforderungen innerhalb von 20 Sekunden nicht überschritten werden.
Anpassen des Schleifenerkennungscookies
Sie können PowerShell verwenden, um die Anzahl der ausgestellten Tokens und den Zeitraumwert zu ändern.
Set-AdfsProperties -LoopDetectionMaximumTokensIssuedInterval 5 -LoopDetectionTimeIntervalInSeconds 20
Der Mindestwert für LoopDetectionMaximumTokensIssuedInterval ist 1.
Der Mindestwert für LoopDetectionTimeIntervalInSeconds ist 5.
Sie können die Schleifenerkennung auch deaktivieren, wenn Sie Leistungstests durchführen.
Set-AdfsProperties -EnableLoopDetection $false
Wichtig
Es wird nicht empfohlen, die Schleifenerkennung dauerhaft zu deaktivieren, da sie verhindert, dass Benutzer in Endlosschleifenzustände eintreten.