다음을 통해 공유


Windows 통합 인증

작성자: Mike Wasson

통합 Windows 인증 사용하면 사용자가 Kerberos 또는 NTLM을 사용하여 Windows 자격 증명으로 로그인할 수 있습니다. 클라이언트는 권한 부여 헤더에서 자격 증명을 보냅니다. Windows 인증은 인트라넷 환경에 가장 적합합니다. 자세한 내용은 Windows 인증을 참조하세요.

장점 단점
IIS에 기본 제공 인터넷 애플리케이션에는 권장되지 않습니다.
요청에 사용자 자격 증명을 보내지 않습니다. 클라이언트에서 Kerberos 또는 NTLM 지원이 필요합니다.
클라이언트 컴퓨터가 도메인(예: 인트라넷 애플리케이션)에 속하는 경우 사용자는 자격 증명을 입력할 필요가 없습니다. 클라이언트는 Active Directory 도메인에 있어야 합니다.

참고 항목

애플리케이션이 Azure에서 호스트되고 온-프레미스 Active Directory 도메인이 있는 경우 온-프레미스 AD를 Azure Active Directory와 페더레이션하는 것이 좋습니다. 이렇게 하면 사용자가 온-프레미스 자격 증명으로 로그인할 수 있지만 인증은 Azure AD에서 수행됩니다. 자세한 내용은 Azure 인증을 참조하세요.

통합 Windows 인증 사용하는 애플리케이션을 만들려면 MVC 4 프로젝트 마법사에서 "인트라넷 애플리케이션" 템플릿을 선택합니다. 이 프로젝트 템플릿은 Web.config 파일에 다음 설정을 넣습니다.

<system.web>
    <authentication mode="Windows" />
</system.web>

클라이언트 쪽에서 통합 Windows 인증 대부분의 주요 브라우저를 포함하는 협상 인증 체계를 지원하는 모든 브라우저에서 작동합니다. .NET 클라이언트 애플리케이션의 경우 HttpClient 클래스는 Windows 인증 지원합니다.

HttpClientHandler handler = new HttpClientHandler()
{
    UseDefaultCredentials = true
};

HttpClient client = new HttpClient(handler);

Windows 인증 CSRF(교차 사이트 요청 위조) 공격에 취약합니다. CSRF(사이트 간 요청 위조) 공격 방지를 참조 하세요.