다음을 통해 공유


AD FS 문제 해결 - 루프 검색

AD FS에서 반복은 신뢰 당사자가 계속해서 유효한 보안 토큰을 거부하고 AD FS로 다시 리디렉션할 때 발생합니다.

이런 일이 발생하지 않도록 AD FS는 루프 검색 쿠키라고 하는 것을 구현했습니다. 기본적으로 AD FS는 MSISLoopDetectionCookie라는 웹 수동 클라이언트에 쿠키를 씁니다. 이 쿠키는 타임스탬프 값과 발급된 여러 토큰 값을 보유합니다. 이를 통해 AD FS는 클라이언트가 특정 시간 범위 내에서 페더레이션 서비스를 방문한 빈도와 횟수를 추적할 수 있습니다.

수동 클라이언트가 20초 이내에 토큰 5회(5회)를 위해 페더레이션 서비스를 방문하면 AD FS에서 다음 오류가 발생합니다.

MSIS7042: 동일한 클라이언트 브라우저 세션이 지난 '{0}' 초 동안 '{1}' 요청을 수행했습니다. 자세한 내용은 관리자에게 문의하세요.

무한 루프를 입력하는 것은 종종 AD FS에서 발급한 토큰을 성공적으로 사용하지 않는 잘못된 신뢰 당사자 애플리케이션으로 인해 발생하며, 애플리케이션은 새 토큰을 위해 수동 클라이언트를 AD FS로 반복적으로 보냅니다. AD FS는 20초 이내에 5개 요청을 초과하지 않는 한 매번 수동 클라이언트에 새 토큰을 발급합니다.

PowerShell을 사용하여 발급된 토큰 수와 시간 범위 값을 변경할 수 있습니다.

Set-AdfsProperties -LoopDetectionMaximumTokensIssuedInterval 5  -LoopDetectionTimeIntervalInSeconds 20

LoopDetectionMaximumTokensIssuedInterval의 최소값은 1입니다.

LoopDetectionTimeIntervalInSeconds의 최소값은 5입니다.

성능 테스트를 수행할 때 루프 검색을 사용하지 않도록 설정할 수도 있습니다.

Set-AdfsProperties -EnableLoopDetection $false

Important

사용자가 무한 루프 상태에 들어가지 못하게 되므로 루프 검색을 영구적으로 사용하지 않도록 설정하는 것은 권장되지 않습니다.

다음 단계