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(사이트 간 요청 위조) 공격 방지를 참조 하세요.