Risoluzione dei problemi AD FS - Rilevamento ciclo
La riproduzione a ciclo continuo in AD FS si verifica quando una relying party rifiuta continuamente un token di sicurezza valido e reindirizza ad AD FS.
Cookie di rilevamento ciclo
Per evitare che questo si verifichi, AD FS ha implementato quello che viene chiamato un cookie di rilevamento ciclo. Per impostazione predefinita, AD FS scrive un cookie ai client Web passivi denominato MSISLoopDetectionCookie. Questo cookie conserva un valore relativo all'intervallo temporale e un valore relativo al numero di token rilasciati. Questo consente ad AD FS di tenere traccia di quanto spesso e quante volte un client ha visitato il servizio federativo in un intervallo temporale specifico.
Se un client passivo visita il servizio federativo di un token cinque (5) volte in 20 secondi, AD FS restituisce l'errore seguente:
MSIS7042: la stessa sessione del browser client ha effettuato '{0}' richieste negli ultimi '{1}' secondi. Contact your administrator for details.
L'entrata in cicli infiniti spesso si verifica per un comportamento errato dell'applicazione della relying party, che non utilizza in modo corretto il token rilasciato da AD FS, mentre l'applicazione invia il client passivo in modo ripetitivo a AD FS, per un nuovo token. AD FS rilascerà al client passivo un nuovo token ogni volta, se non viene superata la soglia di 5 richieste entro 20 secondi.
Regolare il cookie di rilevamento ciclo
È possibile usare PowerShell per cambiare il valore dei token rilasciati e il valore dell'intervallo di tempo.
Set-AdfsProperties -LoopDetectionMaximumTokensIssuedInterval 5 -LoopDetectionTimeIntervalInSeconds 20
Il valore minimo di LoopDetectionMaximumTokensIssuedInterval è 1.
Il valore massimo di LoopDetectionTimeIntervalInSeconds è 5.
È anche possibile disabilitare il rilevamento ciclo quando di effettua un test delle prestazioni.
Set-AdfsProperties -EnableLoopDetection $false
Importante
Non si consiglia di disabilitare definitivamente il rilevamento ciclo, in quanto questo non consentirebbe agli utenti di accedere a stati di ciclo infinito.