Condividi tramite


Autenticazione basata su form tra applicazioni

Aggiornamento: novembre 2007

In ASP.NET è supportata l'autenticazione basata su form in un ambiente distribuito, sia tra applicazioni su un solo server che in Web farm. Quando l'autenticazione basata su form viene attivata in più applicazioni ASP.NET, non è necessario che gli utenti rieseguano l'autenticazione quando passano da un'applicazione all'altra.

Configurazione dell'autenticazione basata su form tra applicazioni

Per configurare l'autenticazione basata su form tra applicazioni, è necessario impostare gli attributi delle sezioni forms e machineKey del file Web.config in modo che i valori siano gli stessi per tutte le applicazioni che partecipano al processo condiviso di autenticazione basata su form.

Nell'esempio riportato di seguito viene illustrata la sezione Authentication di un file Web.config. Se non diversamente specificato, gli attributi name, protection, path, validationKey, validation, decryptionKey e decryption devono essere identici per tutte le applicazioni. In modo analogo i valori delle chiavi di crittografia e convalida e gli schemi di crittografia e convalida utilizzati per i ticket di autenticazione (dati dei cookie) devono essere esattamente gli stessi. Se le impostazioni non corrispondono, i ticket di autenticazione non possono essere condivisi.

Nota:

Le applicazioni che eseguono ASP.NET versione 2.0 o successiva possono condividere le informazioni dei ticket di autenticazione basata su form con versioni precedenti di ASP.NET a condizione di includere decryption="3DES" nell'elemento machineKey per ogni applicazione ASP.NET versione 2.0 o successiva.

<configuration>
  <system.web>
    <authentication mode="Forms" >
      <!-- The name, protection, and path attributes must match 
           exactly in each Web.config file. -->
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" 
        protection="All"  
        path="/" 
        timeout="30" />
    </authentication>

    <!-- Validation and decryption keys must exactly match and cannot
         be set to "AutoGenerate". The validation and decryption
         algorithms must also be the same. -->
    <machineKey
      validationKey="[your key here]" 
      decryptionKey="[your key here]" 
      validation="SHA1" />
  </system.web>
</configuration>

Dopo l'emissione di un ticket di autenticazione (cookie), la relativa scadenza viene registrata in base al valore Expires contenuto nel cookie stesso. Se due applicazioni hanno attributi Timeout diversi, la data di scadenza e il timestamp originale vengono mantenuti per la durata di ogni cookie. Quando un cookie viene aggiornato, la scadenza originaria del cookie è utilizzata per calcolare la nuova scadenza. Il valore di configurazione Timeout viene utilizzato solo al momento della creazione del cookie.

Autenticazione basata su form e servizio di autenticazione

È possibile autenticare gli utenti attraverso più applicazioni utilizzando il servizio di autenticazione. Il servizio di autenticazione consente di utilizzare l'autenticazione basata su form da qualsiasi applicazione in grado di inviare e utilizzare messaggi in formato SOAP. Per ulteriori informazioni, vedere Cenni preliminari sul servizio di autenticazione di Windows Communication Foundation.

Vedere anche

Attività

Procedura: implementare l'autenticazione basata su form semplice

Altre risorse

Protezione delle applicazioni Web ASP.NET