Cenni preliminari sull'autenticazione basata su form ASP.NET
Aggiornamento: novembre 2007
L'autenticazione basata su form consente di autenticare gli utenti mediante un codice personalizzato e quindi di gestire un token di autenticazione in un cookie o nell'URL della pagina. L'autenticazione basata su form contribuisce al ciclo di vita della pagina ASP.NET tramite la classe FormsAuthenticationModule. È possibile accedere alle funzionalità e alle informazioni sull'autenticazione basata su form mediante la classe FormsAuthentication.
Per utilizzare l'autenticazione basata su form, creare una pagina di accesso in cui siano raccolte le credenziali dell'utente e in cui sia incluso il codice per l'autenticazione delle credenziali. In genere l'applicazione per reindirizzare le richieste alla pagina di accesso viene configurata quando gli utenti tentano di accedere a una risorsa protetta, ad esempio una pagina che richiede l'autenticazione. Se le credenziali dell'utente sono valide, sarà possibile chiamare i metodi della classe FormsAuthentication per reindirizzare la richiesta alla risorsa cui era riferita in origine con un adeguato ticket di autenticazione (cookie). Se non si desidera che venga eseguito il reindirizzamento, è sufficiente ottenere o impostare il cookie dell'autenticazione basata su form. Alle richieste successive il browser dell'utente includerà il cookie di autenticazione nella richiesta, che quindi ignorerà la pagina di accesso.
Per configurare l'autenticazione basata su form, utilizzare l'elemento di configurazione authentication. Nel caso più semplice viene visualizzata una pagina di accesso. Nel file di configurazione viene specificato un URL per reindirizzare richieste non autenticate alla pagina di accesso. Vengono quindi definite credenziali valide nel file Web.config o in un file distinto. Nell'esempio seguente viene illustrata una sezione di un file di configurazione che specifica una pagina di accesso e le credenziali di autenticazione per il metodo Authenticate. Le password sono state crittografate mediante il metodo HashPasswordForStoringInConfigFile.
<authentication mode="Forms">
<forms name="SavingsPlan" loginUrl="/Login.aspx">
<credentials passwordFormat="SHA1">
<user name="Kim"
password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
<user name="John"
password="BA56E5E0366D003E98EA1C7F04ABF8FCB3753889"/>
</credentials>
</forms>
</authentication>
Dopo aver eseguito correttamente l'autenticazione, il modulo FormsAuthenticationModule imposterà il valore della proprietà User su un riferimento all'utente autenticato. Nell'esempio di codice riportato di seguito viene illustrato come leggere l'identità dell'utente autenticato mediante l'autenticazione basata su form a livello di codice.
Dim authUser2 As String = User.Identity.Name
String authUser2 = User.Identity.Name;
Autenticazione basata su form, appartenenza ASP.NET e controlli di accesso
L'autenticazione basata su form risulta particolarmente efficace se utilizzata insieme all'appartenenza e ai controlli di accesso ASP.NET. L'appartenenza ASP.NET consente di archiviare e gestire le informazioni utente, oltre a includere i metodi per l'autenticazione degli utenti. I controlli di accesso ASP.NET interagiscono con l'appartenenza ASP.NET. Incapsulano infatti il codice per visualizzare la richiesta di credenziali agli utenti, convalidare gli utenti, recuperare o sostituire password e così via. In effetti, l'appartenenza ASP.NET e i controlli di accesso ASP.NET offrono un livello di astrazione rispetto all'autenticazione basata su form. Queste funzionalità consentono infatti di sostituire la maggior parte o persino tutte le operazioni normalmente necessarie per utilizzare l'autenticazione basata su form. Per ulteriori informazioni, vedere Gestione di utenti tramite l'appartenenza e Cenni preliminari sui controlli di accesso di ASP.NET.
Autenticazione basata su form e servizio di autenticazione
È inoltre possibile accedere all'autenticazione basata su form come servizio di Windows Communication Framework (WCF) utilizzando il servizio di autenticazione di ASP.NET. 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. Tale servizio accetta credenziali utente e restituisce un cookie dell'autenticazione basata su form.
È ad esempio possibile consentire l'accesso agli utenti da un'applicazione non sviluppata con .NET Framework. Per ulteriori informazioni, vedere Cenni preliminari sul servizio di autenticazione di Windows Communication Foundation.
Vedere anche
Concetti
Cenni preliminari sulla configurazione di ASP.NET