Elemento <forms>
Consente di configurare un'applicazione ASP.NET per l'autenticazione basata su form personalizzati.
<configuration>
<system.web>
<authentication>
<forms>
<forms name="name" loginUrl="url"protection="All|None|Encryption|Validation"timeout="30" path="/" requireSSL="true|false" slidingExpiration="true|false"> <credentials passwordFormat="format"/></forms>
Attributi facoltativi
Attributo | Opzione | Descrizione |
---|---|---|
name | Specifica il cookie HTTP da utilizzare per l'applicazione. Per impostazione predefinita, il valore di name è .ASPXAUTH. Se sono in esecuzione più applicazioni su un solo server e ciascuna di esse richiede un cookie univoco, è necessario configurare il nome del cookie nel file Web.config di ogni applicazione. | |
loginUrl | Specifica l'URL a cui viene reindirizzata la richiesta per l'accesso se non viene individuato alcun cookie di autenticazione valido. Il valore predefinito è default.aspx. | |
protection | Specifica l'eventuale tipo di crittografia da utilizzare per i cookie. | |
All | Specifica che l'applicazione utilizza la crittografia e la convalida dei dati per proteggere il cookie. Questa opzione si serve dell'algoritmo di convalida dei dati configurato (in base all'elemento <machineKey>). Per la crittografia viene utilizzato il pacchetto Triple-DES (3DES), se disponibile e se la chiave è sufficientemente lunga (48 o più byte). All è il valore predefinito (e consigliato). | |
None | Specifica che sia la funzione di crittografia che quella di convalida sono disattivate per i siti che utilizzano cookie solo per la personalizzazione e che prevedono requisiti di protezione più deboli. L'utilizzo dei cookie in questo modo non è consigliabile. Si tratta tuttavia della soluzione di personalizzazione che utilizza le risorse in modo meno intensivo in .NET Framework. | |
Encryption | Specifica che il cookie viene crittografato utilizzando Triple-DES o DES, ma che su di esso non viene eseguita la convalida dei dati. I cookie utilizzati in questo modo potrebbero essere soggetti ad attacchi non crittografati selezionati. | |
Validation | Specifica che uno schema di convalida verifica che il contenuto di un cookie crittografato non sia stato alterato durante il passaggio. Il cookie viene creato tramite la convalida dei cookie concatenando la chiave di convalida con i dati del cookie, per ottenere un codice MAC (Message Authentication Code), che verrà aggiunto al cookie in uscita. | |
timeout | Specifica l'intervallo di tempo, in minuti interi, trascorso il quale il cookie scade. Il valore predefinito è 30. Se l'attributo SlidingExpiration è true, l'attributo timeout è un valore mobile, che scade dopo il numero di minuti specificato dalla ricezione dell'ultima richiesta. Per impedire che siano compromesse le prestazioni ed evitare i diversi avvisi browser per gli utenti che hanno attivato gli avvisi cookie, il cookie viene aggiornato a metà dell'intervallo di tempo specificato. Questo può comportare una perdita in termini di precisione. I cookie persistenti non scadono. | |
path | Specifica il percorso dei cookie rilasciati dall'applicazione. Il valore predefinito è un carattere barra (/), in quanto la maggior parte dei browser rilevano le maiuscole e le minuscole e non restituiscono i cookie se i caratteri maiuscoli e minuscoli del percorso non corrispondono. | |
requireSSL | Specifica se è necessaria una connessione protetta per trasmettere il cookie di autenticazione. | |
true | Specifica che è necessaria una connessione protetta per le credenziali dell'utente. Se l'impostazione è true, in ASP.NET viene impostato HttpCookie.Secure per il cookie di autenticazione e i browser compatibili non restituiscono il cookie, a meno che la connessione non utilizzi Secure Sockets Layer (SSL). | |
false | Specifica che non è necessaria una connessione protetta per trasmettere il cookie. Il valore predefinito è false. | |
slidingExpiration | Specifica se è abilitata la scadenza variabile, che consente di reimpostare il tempo di un cookie di autenticazione attivo in modo che scada a ogni richiesta durante una singola sessione. | |
true | Indica che è attivata la scadenza variabile. Il cookie di autenticazione viene aggiornato e la scadenza viene reimpostata a ogni richiesta durante una singola sessione. L'impostazione predefinita per la versione 1.0 di ASP.NET era true. | |
false | Specifica che la scadenza variabile non è attivata e che il cookie scade dopo un determinato periodo di tempo dalla propria emissione. Il valore predefinito è false. |
Sottotag
Sottotag | Descrizione |
---|---|
<credentials> | Consente la definizione delle credenziali nome e password all'interno del file di configurazione. È possibile, inoltre, implementare uno schema di password personalizzato per utilizzare un'origine esterna, come un database, per controllare la convalida. |
Osservazioni
Se vengono eseguite più applicazioni su un unico server, è necessario configurare gli attributi <forms> nel file Web.config per ogni applicazione.
Esempio
Nell'esempio che segue viene configurato un sito per l'autenticazione basata su form e vengono specificati il nome del cookie che trasmette le informazioni di accesso dal client e quello della pagina di accesso da utilizzare se l'autenticazione iniziale ha esito negativo.
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="401kApp" loginUrl="/login.aspx">
<credentials passwordFormat = "SHA1"
<user name="UserName"
password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
</credentials>
</forms>
</authentication>
</system.web>
</configuration>
Requisiti
Contenuto in: <system.web>
Piattaforma Web: IIS 5.0, IIS 5.1, IIS 6.0
File di configurazione: Machine.config, Web.config
Gestore della sezione di configurazione: System.Web.Configuration.AuthenticationConfigHandler
Vedere anche
Elemento <authentication> | Configurazione ASP.NET | Schema delle impostazioni ASP.NET