Share via


Elemento forms per authentication (schema delle impostazioni ASP.NET)

[Questa documentazione ha solo scopo di anteprima ed è soggetta a modifiche nelle versioni successive. Gli argomenti vuoti sono inclusi come segnaposto.]

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 descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo

Descrizione

cookieless

Attributo facoltativo.

Definisce se vengono utilizzati i cookie e il relativo comportamento.

Questo attributo può essere uno dei valori riportati di seguito.

NoteNote
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.
ValoreDescrizione
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.

NoteNote
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 Forms Authentication Across Applications.

Questo attributo può essere uno dei valori riportati di seguito.

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

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

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

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

ValoreDescrizione
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).

NoteNote
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

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

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 Forms Authentication Across Applications.

È 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

AuthenticationSection

Membro di configurazione

FormsAuthentication

FormsAuthenticationConfiguration

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à

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

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)

System.Configuration

System.Web.Configuration

AuthenticationSection

FormsAuthentication

Concetti

Forms Authentication Across Applications

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

Altre risorse

ASP.NET Authentication

Impostazioni di configurazione generali (ASP.NET)

Impostazioni di configurazione di ASP.NET

Configuring ASP.NET Applications

ASP.NET Configuration Files

ASP.NET Configuration API