Compartir a través de


Cómo: Habilitar el servicio de autenticación de WCF

Actualización: noviembre 2007

En este tema se muestra cómo configurar el servicio de autenticación de ASP.NET en un servidor web para dejarlo disponible a clientes como un servicio de Windows Communication Foundation (WCF). El tema también muestra cómo configurar la autenticación de formularios de ASP.NET.

Para obtener más información sobre cómo configurar la pertenencia de ASP.NET, vea Configurar una aplicación ASP.NET para utilizar la suscripción.

Para habilitar el servicio de autenticación

  1. Si aún no tiene una aplicación web ASP.NET, cree una.

  2. Agregue un archivo de servicio (.svc) al sitio web que contiene la siguiente directiva para hacer referencia a la clase AuthenticationService, tal como se muestra en el siguiente ejemplo:

    <%@ 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. Especifique la siguiente configuración en el archivo Web.config para configurar el servicio y exigir el uso de SSL:

    • Habilite el servicio de autenticación en el elemento authenticationService.

    • Defina el contrato de punto final en el elemento services y el comportamiento del servicio en el elemento behaviors. Incluya la propiedad bindingNamespace en el contrato de punto final, tal como se muestra en el ejemplo siguiente, para evitar que se produzca una excepción en algunas herramientas de generación de proxy. Para obtener más información sobre los puntos finales de WCF, vea Windows Communication Foundation Endpoints.

    • Configure el elemento serviceHostingEnvironment para permitir la compatibilidad con ASP.NET. Para obtener más información sobre cómo hospedar servicios WCF, vea WCF Services and ASP.NET.

    • Cree un enlace en el elemento bindings que exija el uso de SSL. Para obtener más información sobre la seguridad del transporte en WCF, vea Transport Security.

    En el ejemplo siguiente se muestra el elemento system.serviceModel de un archivo Web.config que muestra los valores de configuración descritos en la 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 la autenticación de formularios

  • En el archivo Web.config, configure la aplicación web para que utilice la autenticación de formularios.

    El ejemplo siguiente muestra el elemento authentication en un archivo Web.config que está configurado para utilizar la autenticación de formularios.

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

    El servicio de autenticación requiere cookies. Por consiguiente, en el elemento authentication, establezca el atributo cookieless en "UseCookies". Para obtener más información, vea Información general sobre la autenticación de formularios de ASP.NET.

Seguridad

Si pasa información confidencial del usuario como credenciales de autenticación, tenga acceso al servicio de autenticación utilizando siempre la Capa de sockets seguros (SSL), mediante el protocolo HTTPS. Para obtener información sobre cómo configurar SSL, vea Configuring Secure Sockets Layer (IIS 6.0 Operations Guide).

Vea también

Tareas

Tutorial: Usar servicios de aplicación ASP.NET

Conceptos

Información general sobre el servicio de autenticación de Windows Communication Foundation

Otros recursos

Configuring Services