다음을 통해 공유


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

업데이트: 2007년 11월

이 항목에서는 웹 서버에서 ASP.NET 인증 서비스를 구성하여 클라이언트에 이를 WCF(Windows Communication Foundation) 서비스로 사용할 수 있도록 하는 방법을 보여 줍니다. 또한 이 항목에서는 ASP.NET 폼 인증을 구성하는 방법도 보여 줍니다.

ASP.NET 멤버 자격을 구성하는 방법에 대한 자세한 내용은 멤버 자격을 사용하도록 ASP.NET 응용 프로그램 구성을 참조하십시오.

인증 서비스를 활성화하려면

  1. ASP.NET 웹 응용 프로그램이 없는 경우 하나를 만듭니다.

  2. 아래 예제에서와 같이 서비스 파일(.svc)을 다음 지시문이 있는 웹 사이트에 추가하여 AuthenticationService 클래스를 참조합니다.

    <%@ ServiceHost 
      Language="VB"
      Service="System.Web.ApplicationServices.AuthenticationService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    <%@ ServiceHost 
      Language="C#"
      Service="System.Web.ApplicationServices.AuthenticationService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    
  3. Web.config 파일에서 다음과 같이 설정을 구성하여 서비스를 구성하고 SSL을 요청합니다.

    • authenticationService 요소에서 인증 서비스를 활성화합니다.

    • services 요소에 끝점 계약을 정의하고 behaviors 요소에 서비스 동작을 정의합니다. 일부 프록시 생성 도구에서 예외가 발생하지 않도록 다음 예제에서 나타난 대로 끝점 계약에 bindingNamespace 속성을 포함합니다. WCF 끝점에 대한 자세한 내용은 Windows Communication Foundation Endpoints를 참조하십시오.

    • ASP.NET 호환성을 위해 serviceHostingEnvironment 요소를 구성합니다. WCF 서비스 호스팅에 대한 자세한 내용은 WCF Services and ASP.NET을 참조하십시오.

    • SSL을 필요로 하는 bindings 요소에 바인딩을 만듭니다. WCF의 전송 보안에 대한 자세한 내용은 Transport Security를 참조하십시오.

    다음 예제에서는 이전 목록에서 설명한 구성 설정을 보여 주는 Web.config 파일의 system.serviceModel 요소를 보여 줍니다.

    <system.web.extensions>
      <scripting>
        <webServices>
          <authenticationService enabled="true" 
             requireSSL = "true"/>
        </webServices>
      </scripting>
    </system.web.extensions>
    <system.serviceModel>
      <services>
        <service name="System.Web.ApplicationServices.AuthenticationService"
            behaviorConfiguration="AuthenticationServiceTypeBehaviors">
          <endpoint contract=
            "System.Web.ApplicationServices.AuthenticationService"
            binding="basicHttpBinding"
            bindingConfiguration="userHttps" 
            bindingNamespace="https://asp.net/ApplicationServices/v200"/>
          </service>
      </services>
      <bindings>
            <basicHttpBinding>
                <binding name="userHttps">
                    <security mode="Transport" />
                </binding>
            </basicHttpBinding>
      </bindings>
      <behaviors>
        <serviceBehaviors>
          <behavior name="AuthenticationServiceTypeBehaviors">
            <serviceMetadata httpGetEnabled="true"/>
          </behavior>
        </serviceBehaviors>
      </behaviors>
      <serviceHostingEnvironment 
        aspNetCompatibilityEnabled="true"/>
    </system.serviceModel>
    

폼 인증을 구성하려면

  • Web.config 파일에서 폼 인증을 사용하도록 웹 응용 프로그램을 구성합니다.

    다음 예제에서는 폼 인증을 사용하도록 구성된 Web.config 파일의 authentication 요소를 보여 줍니다.

    <authentication mode="Forms">
      <forms cookieless="UseCookies" />
    </authentication>
    

    인증 서비스는 쿠키를 필요로 합니다. 따라서 authentication 요소에서 cookieless 특성을 "UseCookies"로 설정해야 합니다. 자세한 내용은 ASP.NET 폼 인증 개요를 참조하십시오.

보안

인증 자격 증명과 같은 중요한 사용자 데이터를 전달하는 경우에는 항상 HTTPS 프로토콜을 사용하여 SSL(Secure Sockets Layer)을 통해 인증 서비스에 액세스하십시오. SSL을 설정하는 방법에 대한 자세한 내용은 Configuring Secure Sockets Layer (IIS 6.0 Operations Guide)를 참조하십시오.

참고 항목

작업

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

개념

Windows Communication Foundation 인증 서비스 개요

기타 리소스

서비스 구성