Partilhar via


Como: Habilitar o serviço de autenticação do WCF

Este tópico mostra como configurar o serviço de autenticação do ASP.NET em um servidor Web para torná-lo disponível para clientes como um serviço Windows Communication Foundation (WCF).O tópico também mostra como configurar a autenticação de formulários do ASP.NET.

Para obter mais informações sobre como configurar membros do ASP.NET, consulte Configurando um aplicativo ASP.NET para usar associação.

Para habilitar o serviço de autenticação

  1. Se você ainda não tiver um aplicativo ASP.NET, crie um.

  2. Adicione um arquivo de serviço (.svc) ao site da Web que contém a seguinte diretiva para fazer referência à classe AuthenticationService, como mostrado no exemplo a seguir:

    <%@ 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. Verifique as configurações a seguir no arquivo Web.config para configurar o serviço e requerer SSL:

    • Ative o serviço autenticação no elemento authenticationService.

    • Defina o contrato de ponto de extremidade no elemento services e o comportamento do serviço no elemento behaviors.Inclua a propriedade bindingNamespace no contrato de ponto de extremidade como mostrado no exemplo a seguir para impedir uma exceção em algumas ferramentas de geração de proxy.Para obter mais informações sobre os pontos de extremidade do WCF, consulte Pontos de extremidade do Windows Communication Foundation.

    • Configure o elemento serviceHostingEnvironment de compatibilidade do ASP.NET.Para obter mais informações sobre como hospedar serviços WCF, consulte Serviços WCF e do ASP.NET.

    • Crie uma ligação no elemento bindings que exige SSL.Para obter mais informações sobre segurança de transporte no WCF, consulte Segurança de transporte.

    O exemplo a seguir mostra o elemento system.serviceModel de um arquivo Web.config que mostra as configurações descritas na lista anterior.

    <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>
    

Para configurar a autenticação de formulários

  • No arquivo web.config, configure o aplicativo da Web para usar a autenticação de formulários.

    O exemplo a seguir mostra o elemento authentication em um arquivo Web.config que está configurado para usar a autenticação de formulários.

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

    O serviço de autenticação requer cookies.Portanto, no elemento authentication, defina o atributo cookieless para "UseCookies".Para obter mais informações, consulte Visão geral sobre autenticação de formulários ASP.NET.

Segurança

Se você estiver passando dados confidenciais do usuário, como credenciais de autenticação, sempre acesse o serviço de autenticação sobre a camada de soquetes seguros (SSL, usando protocolo HTTPS).Para obter informações sobre como configurar a protocolo SSL, consulte Configurando Secure Sockets camada (guia de operações de IIS 6.0).

Consulte também

Tarefas

Passo a Passo: Usando Serviços de Aplicativos do ASP.NET

Conceitos

Visão geral do serviço de autenticação Windows Communication Foundation

Outros recursos

Configurando Serviços