IIS 7: 특정 클라이언트 IP에 대한 인증 비활성화

IIS 7: 특정 클라이언트 IP에 대한 인증 비활성화

기본 인증으로 보호되는 가상 디렉터리가 있습니다. 자격 증명을 요구하지 않고 127.0.0.1 등의 모든 요청이 허용되도록 특정 IP에 대한 인증을 비활성화하고 싶습니다. 어떻게 해야 하나요?

답변1

나는 이것을 가능하게 하는 내장된 방법을 찾을 수 없었습니다. 나는 결국 다음을 사용하여 IIS 모듈을 작성했습니다.Microsoft의 지침.

모듈은 클라이언트의 IP 주소를 확인하고( 를 사용하여 HttpRequest.UserHostAddress), 제외 목록에 없는 경우 Windows 계정에 대한 표준 기본 인증을 다시 구현합니다(API를 사용 하고 로 LogonUser설정 ). (사용 ) 에서 인증 도메인 및 면제 IP 주소 목록을 읽습니다 .HttpContext.UserWindowsPrincipalweb.configConfigurationManager.AppSettings

걸림돌은 다음과 같습니다.

  • 서버 자체를 면제하고 싶어서 127.0.0.1면제 목록에 해당 서버의 IP 주소를 추가했는데 ::1(IPv6 로컬 호스트)도 추가해야 했습니다.
  • 나는 이것을 hgweb에 대한 액세스를 보호하기 위해 사용하고 있으며 어떤 이유로 플러그인을 활성화한 후 hgrcallow_push줄에 있는 항목을 에서 로 username변경 해야 했습니다 .DOMAIN\username

관련 정보