AD FS 疑難排解-迴圈偵測

當信賴憑證者連續拒絕有效的安全性權杖,並重新導向回 AD FS 時,會發生 AD FS 中的迴圈。

為了避免發生這種情況,AD FS 已實作為「迴圈偵測」 cookie 的名稱。 根據預設,AD FS 會將 cookie 寫入名為 MSISLoopDetectionCookie的 web 被動用戶端。 此 cookie 包含時間戳記值和數個已發出的權杖值。 這可讓 AD FS 追蹤用戶端在特定時間範圍內造訪同盟服務的頻率和次數。

如果被動用戶端在20秒內造訪權杖五 (5) 次的同盟服務,AD FS 會擲回下列錯誤:

MSIS7042:相同的用戶端瀏覽器會話已 {0} 在最後一個 ' 秒內發出「要求」 {1} 。 請連絡您的系統管理員以取得詳細資訊。

進入無限迴圈通常是因為未成功取用 AD FS 所發出之權杖的不正常信賴憑證者應用程式所造成,而應用程式會針對新的權杖重複地將被動用戶端傳送回 AD FS。 AD FS 會在每次有新權杖時發出被動用戶端,只要在20秒內不超過5個要求即可。

您可以使用 PowerShell 來變更權杖的發出值和 timespan 值數目。

Set-AdfsProperties -LoopDetectionMaximumTokensIssuedInterval 5  -LoopDetectionTimeIntervalInSeconds 20

LoopDetectionMaximumTokensIssuedInterval的最小值為1。

LoopDetectionTimeIntervalInSeconds的最小值為5。

您也可以在進行效能測試時停用迴圈偵測。

Set-AdfsProperties -EnableLoopDetection $false

重要

不建議永久停用迴圈偵測,因為這樣可避免使用者進入無限迴圈狀態。

後續步驟