다음을 통해 공유


AD FS 문제 해결 - 루프 검색

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

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

패시브 클라이언트가 20초 이내에 토큰 5번 받기 위해 페더레이션 서비스를 방문하면 AD FS에서 다음 오류가 발생합니다.

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

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

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

Set-AdfsProperties -LoopDetectionMaximumTokensIssuedInterval 5  -LoopDetectionTimeIntervalInSeconds 20

LoopDetectionMaximumTokensIssuedInterval의 최솟값은 1입니다.

LoopDetectionTimeIntervalInSeconds의 최솟값은 5입니다.

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

Set-AdfsProperties -EnableLoopDetection $false

Important

사용자의 무한 루프 진입을 방지하므로 영구적 사용 설정 해제는 피하는 것이 좋습니다.

다음 단계