Elemento forms per authentication (schema delle impostazioni ASP.NET)
Configura un'applicazione ASP.NET per l'autenticazione basata su form personalizzata.
<forms
name="name"
loginUrl="URL"
defaultUrl="URL"
protection="[All|None|Encryption|Validation]"
timeout="[MM]"
path="path"
requireSSL="[true|false]"
slidingExpiration="[true|false]">
enableCrossAppRedirects="[true|false]"
cookieless="[UseUri|UseCookies|AutoDetect|UseDeviceProfile]"
domain="domain name"
ticketCompatibilityMode="[Framework20|Framework40]">
<credentials>...</credentials>
</forms>
Attributi ed elementi
Nelle sezioni seguenti vengono illustrati attributi, elementi figlio e padre.
Attributi
Attribute |
Oggetto di descrizione |
---|---|
cookieless |
Attributo facoltativo. Definisce se vengono utilizzati i cookie e il relativo comportamento. Questo attributo può essere uno dei valori riportati di seguito.
Nota
Nei siti Web ASP.NET con supporto AJAX, utilizzare il valore predefinito UseCookies per l'attributo cookieless.Le impostazioni che utilizzano cookie codificati nell'URL non sono supportate dalle librerie di script client ASP.NET AJAX.
ValueOggetto di descrizione
UseCookies Specifica che i cookie verranno sempre utilizzati indipendentemente dal dispositivo.
UseUri Specifica che i cookie non verranno mai utilizzati.
AutoDetect Specifica che i cookie vengono utilizzati se il profilo del dispositivo li supporta, in caso contrario non vengono utilizzati.Per i browser desktop che supportano con certezza i cookie, verrà utilizzato un meccanismo di sondaggio per tentare di utilizzarli, se attivati.Se un dispositivo non supporta i cookie, non verrà utilizzato alcun meccanismo di sondaggio.
UseDeviceProfile Specifica che i cookie vengono utilizzati se il browser li supporta, in caso contrario non vengono utilizzati. Per i dispositivi che supportano i cookie, non viene effettuato alcun tentativo di stabilire se il supporto per i cookie è attivato.
Questo attributo è nuovo in .NET Framework versione 2.0. Il valore predefinito è UseDeviceProfile.. |
defaultUrl |
Attributo facoltativo. Definisce l'URL predefinito utilizzato per il reindirizzamento dopo l'autenticazione. Questo attributo è nuovo in .NET Framework versione 2.0. Il valore predefinito è "default.aspx". |
domain |
Attributo facoltativo. Specifica un dominio facoltativo da impostare sui cookie di autenticazione basata su form in uscita. Questa impostazione ha la precedenza sul dominio utilizzato nell'elemento httpCookies. Questo attributo è nuovo in .NET Framework versione 2.0. Il valore predefinito è una stringa vuota (""). |
enableCrossAppRedirects |
Attributo facoltativo. Indica se gli utenti autenticati vengono reindirizzati agli URL in altre applicazioni Web.
Nota
Quando si eseguono i reindirizzamenti tra le applicazioni, è necessario verificare che più attributi nell'elemento Elemento forms per authentication (schema delle impostazioni ASP.NET) vengano duplicati attraverso le applicazioni autenticate.Per ulteriori informazioni e un esempio, vedere Autenticazione basata su form tra applicazioni.
Questo attributo può essere uno dei valori riportati di seguito.
ValueOggetto di descrizione
True Specifica che è possibile reindirizzare gli utenti autenticati agli URL in altre applicazioni Web.
False Specifica che non è possibile reindirizzare gli utenti autenticati agli URL in altre applicazioni Web.
Questo attributo è nuovo in .NET Framework versione 2.0. Il valore predefinito è False. |
loginUrl |
Attributo facoltativo. Specifica l'URL a cui viene reindirizzata la richiesta per l'accesso se non viene individuato alcun cookie di autenticazione valido. Il valore predefinito è login.aspx. |
name |
Attributo facoltativo. Specifica il cookie HTTP da utilizzare per l'applicazione. 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. Il valore predefinito è ".ASPXAUTH". |
path |
Attributo facoltativo. Specifica il percorso dei cookie rilasciati dall'applicazione. L'impostazione predefinita è un carattere barra (/), in quanto la maggior parte dei browser rilevano la distinzione tra maiuscole e minuscole e non restituiscono i cookie se i caratteri maiuscoli e minuscoli del percorso non corrispondono |
protection |
Attributo facoltativo. Specifica l'eventuale tipo di crittografia da utilizzare per i cookie. Questo attributo può essere uno dei valori riportati di seguito.
ValueOggetto di descrizione
All Specifica che l'applicazione utilizza la crittografia e la convalida dei dati per proteggere il cookie.Questa opzione utilizza l'algoritmo di convalida dei dati configurato, in base all'elemento machineKey.Per la crittografia viene utilizzato lo schema Triple-DES (3DES), se disponibile e se la chiave è sufficientemente lunga (48 byte o più).All è il valore predefinito e consigliato.
Encryption Specifica che il cookie viene crittografato utilizzando 3DES 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 scelti.
None Specifica che sia la funzione di crittografia che quella di convalida sono disabilitate per i siti che utilizzano cookie solo per la personalizzazione e che prevedono requisiti di sicurezza meno rigidi.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.
Validation Specifica che uno schema di convalida verifica che il contenuto di un cookie crittografato non sia stato modificato 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.
Il valore predefinito è All. |
requireSSL |
Attributo facoltativo. Specifica se è necessaria una connessione SSL per trasmettere il cookie di autenticazione. Questo attributo può essere uno dei valori riportati di seguito.
ValueOggetto di descrizione
True Specifica che è necessaria una connessione SSL per proteggere le credenziali dell'utente.Se l'impostazione è True, in ASP.NET viene impostata la proprietà Secure per il cookie di autenticazione e i browser conformi non restituiscono il cookie, a meno che la connessione non utilizzi Secure Sockets Layer (SSL).
False Indica che non è necessaria una connessione SSL per trasmettere il cookie.Il valore predefinito è False.
Il valore predefinito è False. |
slidingExpiration |
Attributo facoltativo. 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. Questo attributo può essere uno dei valori riportati di seguito.
ValueOggetto di descrizione
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.
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 è True. |
ticketCompatibilityMode |
Attributo facoltativo. Specifica se utilizzare lo standard Coordinated Universal Time (UTC) o l'ora locale per la data di scadenza del ticket per l'autenticazione basata su form. Questo attributo può AVERE uno dei valori riportati di seguito.
ValueOggetto di descrizione
Framework20 Specifica che la data di scadenza del ticket viene archiviata utilizzando l'ora locale.
Framework40 Specifica che la data di scadenza del ticket viene archiviata utilizzando il formato UTC.
Il valore predefinito è Framework20. |
timeout |
Attributo facoltativo. Specifica l'intervallo di tempo, espresso in minuti interi, trascorso il quale il cookie scade. Se l'attributo SlidingExpiration è true, l'attributo timeout è un valore variabile che scade il numero specificato di minuti dopo l'ora di 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. Il valore predefinito è "30" (30 minuti).
Nota
In ASP.NET V1.1 i cookie permanenti non scadono, indipendentemente dall'impostazione dell'attributo timeout.In ASP.NET V2.0, invece, i cookie permanenti scadono in base all'impostazione dell'attributo timeout.
|
Elementi figlio
Sottotag |
Oggetto di descrizione |
---|---|
credentials |
Consente le definizioni facoltative 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. |
Elementi padre
Elemento |
Oggetto di descrizione |
---|---|
configuration |
Specifica l'elemento di primo livello necessario in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework. |
system.web |
Specifica l'elemento di primo livello per le impostazioni di configurazione ASP.NET in un file di configurazione e contiene gli elementi che consentono di configurare le applicazioni Web ASP.NET e di controllarne il comportamento. |
authentication |
Configura lo schema di autenticazione ASP.NET utilizzato per identificare gli utenti che visualizzano un'applicazione ASP.NET. |
Note
L'elemento forms configura un'applicazione ASP.NET per l'autenticazione basata su form personalizzata. Se vengono eseguite più applicazioni su un unico server, è necessario configurare gli attributi dell'elemento forms nel file Web.config per ogni applicazione. Per ulteriori informazioni, vedere Autenticazione basata su form tra applicazioni.
È possibile superare la dimensione massima dell'URI quando si inviano i ticket di autenticazione basata su form nell'URI. Se la combinazione del ticket di identificazione anonima, del ticket di autenticazione basata su form, dell'ID di sessione e dei dati utente è maggiore della lunghezza massima consentita per l'URI, la richiesta avrà esito negativo determinando l'errore 400 - Richiesta non valida.
Configurazione predefinita
L'elemento forms predefinito riportato di seguito non viene configurato in modo esplicito nel file Machine.config o nel file Web.config radice. Si tratta, tuttavia, della configurazione predefinita restituita dall'applicazione in .NET Framework versione 2.0.
<forms
name=".ASPXAUTH"
loginUrl="login.aspx"
defaultUrl="default.aspx"
protection="All"
timeout="30"
path="/"
requireSSL="false"
slidingExpiration="true"
cookieless="UseDeviceProfile" domain=""
enableCrossAppRedirects="false">
<credentials passwordFormat="SHA1" />
</forms>
Nel file Machine.config in .NET Framework versione 1.1 viene configurato l'elemento forms predefinito riportato di seguito.
<forms
name=".ASPXAUTH"
loginUrl="login.aspx"
protection="All"
timeout="30"
path="/"
requireSSL="false"
slidingExpiration="true">
<credentials passwordFormat="SHA1"></credentials>
</forms>
Nel file Machine.config in .NET Framework versione 1.0 viene configurato l'elemento forms predefinito riportato di seguito.
<forms
name=".ASPXAUTH"
loginUrl="login.aspx"
protection="All"
timeout="30"
path="/" >
<credentials passwordFormat="SHA1"></credentials>
</forms>
Esempio
Nell'esempio di codice che segue viene illustrato come configurare 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"
cookieless="AutoDetect"
defaultUrl="myCustomLogin.aspx">
<credentials passwordFormat = "SHA1">
<user name="UserName"
password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
</credentials>
</forms>
</authentication>
</system.web>
</configuration>
Informazioni sull'elemento
Gestore della sezione di configurazione |
|
Membro di configurazione |
|
Percorsi configurabili |
Machine.config Web.config a livello di radice Web.config a livello di applicazione |
Requisiti |
Microsoft Internet Information Services (IIS) versione 5.0, 5.1 o 6.0 .NET Framework versione 1.0, 1.1 o 2.0 Microsoft Visual Studio 2003 o Visual Studio 2005 |
Vedere anche
Attività
Procedura: configurare directory specifiche utilizzando impostazioni di percorso
Procedura: bloccare le impostazioni di configurazione di ASP.NET
Riferimenti
Elemento authentication (schema delle impostazioni ASP.NET)
Elemento credentials per form per authentication (schema delle impostazioni ASP.NET)
Elemento system.web (schema delle impostazioni ASP.NET)
Elemento passport per authentication (schema delle impostazioni ASP.NET)
Elemento configuration (schema delle impostazioni generali)
Concetti
Autenticazione basata su form tra applicazioni
Gerarchia ed ereditarietà dei file di configurazione di ASP.NET
Protezione della configurazione di ASP.NET
Scenari di configurazione ASP.NET
Altre risorse
Impostazioni di configurazione generali (ASP.NET)
Impostazioni di configurazione di ASP.NET
Amministrazione di siti Web ASP.NET