AD FS Problembehandlung: Schleifen ErkennungAD FS Troubleshooting - Loop Detection

Schleifen in AD FS treten auf, wenn eine vertrauende Seite ein gültiges Sicherheits Token fortlaufend ablehnt und zurück an AD FS umgeleitet wird.Looping in AD FS occurs when a relying party continuously rejects a valid security token and redirects back to AD FS.

Um dies zu verhindern, hat AD FS das als Schleifen Erkennungs Cookie bezeichnete Cookie implementiert.To prevent this from happening, AD FS has implemented what is called a loop detection cookie. Standardmäßig wird von AD FS ein Cookie in die passiven Webclients mit dem Namen msisloopdetectioncookiegeschrieben.By default, AD FS writes a cookie to web passive clients named MSISLoopDetectionCookie. Dieses Cookie enthält einen Zeitstempel-Wert und eine Anzahl von Token, die ausgegeben werden.This cookie holds a timestamp value and a number of tokens issued value. Dadurch können AD FS nachverfolgen, wie oft und wie oft ein Client die Verbunddienst innerhalb einer bestimmten Zeitspanne besucht hat.This allows AD FS to keep track of how often and how many times a client has visited the Federation Service within a specific timespan.

Wenn ein passiver Client die Verbunddienst für ein Token innerhalb von 20 Sekunden fünf Mal besucht, löst AD FS den folgenden Fehler aus:If a passive client visits the Federation Service for a token five (5) times within 20 seconds, AD FS throws the following error:

MSIS7042: die Client Browsersitzung hat " {0} " Anforderungen in den letzten {1} Sekunden angegeben. Weitere Informationen erhalten Sie von Ihrem Administrator.MSIS7042: The same client browser session has made '{0}' requests in the last '{1}' seconds. Contact your administrator for details.

Das Eintreten in unendliche Schleifen wird häufig durch eine nicht verhaltende Anwendung der vertrauenden Seite verursacht, die das von AD FS ausgegebene Token nicht erfolgreich nutzt, und die Anwendung sendet den passiven Client wiederholt an AD FS, wiederholt für ein neues Token.Entering into infinite loops is often caused by a misbehaving relying party application that is not successfully consuming the token issued by AD FS, and the application is sending the passive client back to AD FS, repeatedly, for a new token. AD FS gibt den passiven Client jedes Mal ein neues Token aus, solange nicht fünf Anforderungen innerhalb von 20 Sekunden überschritten werden.AD FS is will issue the passive client a new token each time, as long as they do not exceed 5 requests within 20 seconds.

Sie können PowerShell verwenden, um die Anzahl der ausgegebenen Token und den TimeSpan-Wert zu ändern.You can use PowerShell to change the number of tokens issued value and the timespan value.

Set-AdfsProperties -LoopDetectionMaximumTokensIssuedInterval 5  -LoopDetectionTimeIntervalInSeconds 20

Der minimale Wert für loopdetectionmaximumtekensissuedinterval ist 1.The minimum value for LoopDetectionMaximumTokensIssuedInterval is 1.

Der minimale Wert für loopdetectiontimeintervalinseconds ist 5.The minimum value for LoopDetectionTimeIntervalInSeconds is 5.

Sie können die Schleifen Erkennung auch deaktivieren, wenn Sie Leistungstests durchgeführt haben.You can also disable loop detection when you are doing performance testing.

Set-AdfsProperties -EnableLoopDetection $false

Wichtig

Es wird nicht empfohlen, die Schleifen Erkennung dauerhaft zu deaktivieren, da dadurch verhindert wird, dass Benutzer in Endlosschleifen Zustände eintreten.It is not recommend to permanently disable loop detection as this prevents users from entering into infinite loop states.

Nächste SchritteNext Steps