다음을 통해 공유


Windows Communication Foundation 인증 서비스 개요

업데이트: 2007년 11월

WCF(Windows Communication Foundation) 인증 서비스를 사용하면 ASP.NET 멤버 자격을 통해 SOAP 메시지를 보내고 사용할 수 있는 응용 프로그램의 사용자를 인증할 수 있습니다. 이러한 응용 프로그램에는 .NET Framework를 사용하지 않는 응용 프로그램이 포함될 수 있습니다. 따라서 이러한 서로 다른 응용 프로그램의 사용자에게 응용 프로그램별로 다른 자격 증명이 필요하지 않습니다. 사용자는 클라이언트 응용 프로그램을 사용할 때 동일한 자격 증명을 제공할 수 있으며 이 모든 자격 증명에서 응용 프로그램에 로그인할 수 있습니다.

이 항목에는 다음과 같은 단원이 포함되어 있습니다.

  • 시나리오

  • 배경

  • 코드 예제

  • 클래스 참조

시나리오

ASP.NET 웹 응용 프로그램이 아닌 응용 프로그램의 ASP.NET 멤버 자격을 사용하여 사용자를 인증해야 하는 경우 WCF 서비스로 인증 서비스에 액세스합니다. 이러한 응용 프로그램에는 콘솔 응용 프로그램, Windows Forms 응용 프로그램, .NET Framework를 사용하여 개발하지 않은 응용 프로그램이 포함됩니다. 이 응용 프로그램에서 SOAP 메시지를 보내고 사용할 수 있어야 합니다.

맨 위로 이동

배경

서비스를 사용하려면 ASP.NET 멤버 자격을 사용하여 자격 증명의 유효성을 검사하는 인증 서비스에 사용자의 자격 증명을 전달합니다. 기본적으로 인증 서비스는 사용자 이름 및 암호를 기본 멤버 자격 공급자에게 전달하여 해당 이름 및 암호의 유효성을 검사합니다.

사용자가 인증된 경우 ASP.NET 인증 서비스에서는 인증 티켓을 ASP.NET 폼 인증에서 호환되는 HTTP 쿠키로 발급합니다. 후속 요청에서 티켓이 웹 응용 프로그램에 전달되므로 사용자가 매번 자격 증명을 제공하지 않아도 됩니다.

인증 서비스에서는 URL에 인증 티켓을 포함하지 않습니다. 따라서 인증 티켓을 유지하기 위해 클라이언트에서 쿠키를 사용해야 합니다.

보안상의 이유로 클라이언트 응용 프로그램에서는 항상 SSL(Secure Sockets Layer) 및 HTTPS 프로토콜을 사용하여 인증 서비스에 액세스해야 합니다. SSL을 설정하는 방법에 대한 자세한 내용은 Microsoft 웹 사이트에서 Configuring Secure Sockets Layer (IIS 6.0 Operations Guide)Configuring Secure Sockets Layer in IIS 7.0을 참조하십시오.

사용자 지정 자격 증명을 사용하여 인증

이름 및 암호는 물론 ID 번호와 같은 정보를 사용하여 사용자의 유효성을 검사해야 하는 경우 인증 요청에 사용자 지정 자격 증명을 추가할 수 있습니다. 인증을 위한 추가 정보를 포함하려면 인증 서비스의 Login 메서드를 호출할 때 CustomCredential 매개 변수에 사용자 지정된 자격 증명을 전달합니다. 그리고 나서 Authenticating 이벤트에 대한 이벤트 처리기를 만듭니다. 처리기에서 자격 증명을 읽고 자격 증명의 유효성을 검사할 수 있습니다. 자세한 내용은 방법: WCF 인증 서비스를 사용하는 경우 사용자 로그인 사용자 지정을를 참조하십시오.

사용자 지정 멤버 자격 공급자를 사용하여 인증

Authenticating 이벤트에 대한 이벤트 처리기를 만들어 기본이 아닌 멤버 자격 공급자를 통해 사용자 이름 및 암호를 인증할 수 있습니다. 그리고 나서 사용자 이름 및 암호를 사용자 지정 멤버 자격 공급자의 ValidateUser 메서드에 전달합니다. 자세한 내용은 방법: WCF 인증 서비스에 기본이 아닌 멤버 자격 공급자 사용을를 참조하십시오.

중요하지 않은 사용자 정보를 인증 티켓의 일부로 유지할 수 있습니다. 예를 들어 나중에 검색할 수 있도록 사용자가 선호하는 색을 티켓에 저장할 수 있습니다. 인증 쿠키를 사용자 지정하려면 인증 서비스의 CreatingCookie 이벤트에 대한 이벤트 처리기를 만든 다음 사용자 데이터를 FormsAuthenticationTicket 개체의 UserData 속성에 저장합니다. 자세한 내용은 방법: WCF 인증 서비스에서 인증 쿠키 사용자 지정을를 참조하십시오.

참고:

사용자 암호 또는 다른 중요한 정보를 티켓에 저장하지 마십시오.

맨 위로 이동

코드 예제

연습: ASP.NET 응용 프로그램 서비스 사용

방법: WCF 인증 서비스 활성화

방법: WCF 인증 서비스를 사용하는 경우 사용자 로그인 사용자 지정

방법: WCF 인증 서비스에 기본이 아닌 멤버 자격 공급자 사용

방법: WCF 인증 서비스에서 인증 쿠키 사용자 지정

맨 위로 이동

클래스 참조

다음 표에서는 WCF 인증 응용 프로그램 서비스를 위한 주요 서버 클래스를 보여 줍니다.

맨 위로 이동

참고 항목

작업

연습: ASP.NET 응용 프로그램 서비스 사용

개념

멤버 자격 소개