Condividi tramite


Procedura: attivare il servizio di autenticazione WCF

Aggiornamento: novembre 2007

In questo argomento viene illustrato come configurare il servizio di autenticazione ASP.NET in un server Web per renderlo disponibile ai client come servizio Windows Communication Foundation (WCF). Viene inoltre illustrato come configurare l'autenticazione ASP.NET basata su form.

Per ulteriori informazioni su come configurare l'appartenenza ASP.NET, vedere Configurazione di un'applicazione ASP.NET per l'utilizzo delle appartenenze.

Per attivare il servizio di autenticazione

  1. Se non si dispone già di un'applicazione Web ASP.NET, crearne una.

  2. Aggiungere un file del servizio con estensione svc al sito Web che contiene la direttiva riportata di seguito per fare riferimento alla classe AuthenticationService, come illustrato nell'esempio seguente:

    <%@ 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. Definire le seguenti impostazioni di configurazione nel file Web.config per configurare il servizio e richiedere SSL:

    • Attivare il servizio di autenticazione nell'elemento authenticationService.

    • Definire il contratto dell'endpoint nell'elemento services e il comportamento del servizio nell'elemento behaviors. Includere la proprietà bindingNamespace nel contratto dell'endpoint come illustrato nell'esempio seguente per evitare che venga generata un'eccezione in alcuni strumenti di generazione del proxy. Per ulteriori informazioni sugli endpoint WCF, vedere Windows Communication Foundation Endpoints (informazioni in lingua inglese).

    • Configurare l'elemento serviceHostingEnvironment per la compatibilità con ASP.NET. Per ulteriori informazioni sui servizi WCF di hosting, vedere WCF Services and ASP.NET (informazioni in lingua inglese).

    • Creare un'associazione nell'elemento bindings che richiede SSL. Per ulteriori informazioni sulla sicurezza del trasporto in WCF, vedere Transport Security (informazioni in lingua inglese).

    Nell'esempio seguente viene illustrato l'elemento system.serviceModel da un file Web.config che presenta le impostazioni di configurazione descritte nell'elenco precedente.

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

Per configurare l'autenticazione basata su form

  • Nel file Web.config configurare l'applicazione in modo da utilizzare l'autenticazione basata su form.

    Nell'esempio seguente viene illustrato l'elemento authentication in un file Web.config configurato per l'utilizzo dell'autenticazione basata su form.

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

    Il servizio di autenticazione richiede i cookie. Pertanto, nell'elemento authentication impostare l'attributo cookieless su "UseCookies". Per ulteriori informazioni, vedere Cenni preliminari sull'autenticazione basata su form ASP.NET.

Sicurezza

Se si passano dati riservati dell'utente come le credenziali di autenticazione, accedere sempre al servizio di autenticazione tramite SSL (Secure Sockets Layer) utilizzando il protocollo HTTPS. Per informazioni sulla configurazione di SSL, vedere Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) (informazioni in lingua inglese).

Vedere anche

Attività

Procedura dettagliata: utilizzo dei servizi delle applicazioni ASP.NET

Concetti

Cenni preliminari sul servizio di autenticazione di Windows Communication Foundation

Altre risorse

Configuring Services