Condividi tramite


Classe FormsAuthenticationConfiguration

Configura l'autenticazione basata su form per un'applicazione ASP.NET.

Sintassi

class FormsAuthenticationConfiguration : EmbeddedObject  

Metodi

Questa classe non contiene metodi.

Proprietà

Nella tabella seguente sono elencate le proprietà esposte dalla FormsAuthenticationConfiguration classe .

Nome Descrizione
Cookieless Enumerazione di lettura/scrittura sint32 che specifica se l'autenticazione basata su form deve usare i cookie. I valori possibili sono elencati più avanti nella sezione Osservazioni.
Credentials Valore FormsAuthenticationCredentials che contiene una raccolta di nomi utente e password da usare durante l'autenticazione basata su form. Nota: Quando è necessaria la sicurezza, è consigliabile usare modi alternativi per archiviare nomi utente e password, ad esempio in un archivio di database. Se si decide di utilizzare questa raccolta, è necessario specificare un formato di crittografia nella PasswordFormat proprietà della FormsAuthenticationCredentials classe .
DefaultUrl Valore nonempty string di lettura/scrittura che specifica l'URL predefinito a cui indirizzare la richiesta dopo l'autenticazione. Il valore predefinito è "default.aspx".
Domain Valore di lettura/scrittura string che specifica il nome di dominio da inviare con i cookie di autenticazione basata su form. Il valore predefinito è "". Per i cookie di autenticazione basata su form, questa impostazione ha la precedenza sull'impostazione nella Domain proprietà della classe HttpCookiesSection .
EnableCrossAppRedirects Valore di lettura/scrittura boolean . true se gli utenti autenticati possono essere reindirizzati agli URL in altre applicazioni; in caso contrario, false. Il valore predefinito è false. Se questa proprietà è true, viene eseguito il reindirizzamento; in caso contrario, il browser viene reindirizzato alla pagina definita nella DefaultUrl proprietà . Nota: Quando l'autenticazione basata su form è abilitata in più applicazioni ASP.NET, gli utenti non devono ripetere l'autenticazione quando passano tra le applicazioni. Per altre informazioni, vedere Autenticazione basata su form tra applicazioni.
LoginUrl Valore di lettura/scrittura string non valido che specifica l'URL a cui viene reindirizzata la richiesta quando l'utente non è autenticato o quando non esiste alcun cookie di autenticazione valido. Il valore predefinito è "login.aspx".
Name Valore di lettura/scrittura string non valido che specifica il nome del cookie HTTP da usare per l'autenticazione della richiesta. Il valore predefinito è ".ASPXAUTH".
Path Valore di lettura/scrittura string non valido che specifica il percorso del cookie HTTP da usare per l'autenticazione. Il percorso viene trasmesso insieme al cookie di autenticazione stesso. Il valore predefinito è "/", che rappresenta la radice dell'applicazione Web.
Protection Valore di lettura/scrittura sint32 che specifica il metodo di crittografia utilizzato per il cookie. I valori possibili sono elencati più avanti nella sezione Osservazioni.
RequireSSL Valore di lettura/scrittura boolean . true se per l'autenticazione è necessaria una connessione Secure Sockets Layer (SSL); in caso contrario, false. Il valore predefinito è false. Se questa proprietà è true, un'applicazione Web rifiuta tutte le richieste di autenticazione basata su form che non usano una connessione SSL.
SlidingExpiration Valore di lettura/scrittura boolean . true se la scadenza per il cookie di autenticazione verrà impostata sulla data e l'ora correnti più il valore, espresso in minuti, nella proprietà ; in Timeout caso contrario, false. Il valore predefinito è true.

Se true, la data e l'ora di scadenza del cookie verranno reimpostate automaticamente se rimane meno della metà del valore in Timeout e l'utente sta ancora utilizzando l'applicazione. Se false, il cookie si verifica automaticamente dopo il superamento dell'intervallo specificato nella Timeout proprietà .
Timeout Valore di lettura/scrittura datetime che specifica il periodo di tempo trascorso il quale l'autenticazione scade. Il valore predefinito è 30 minuti.

Sottoclassi

Questa classe non contiene sottoclassi.

Commenti

Le istanze di questa classe sono contenute nella Forms proprietà della classe AuthenticationSection .

Nella tabella seguente sono elencati i valori possibili per la Cookieless proprietà . Il valore predefinito è 3 (UseDeviceProfile).

Valore Parola chiave Descrizione
0 UseUri Specifica che la funzionalità chiamante usa la stringa di query per archiviare un identificatore, indipendentemente dal fatto che il browser o il dispositivo supporti i cookie.
1 UseCookies Specifica che i cookie vengono utilizzati per rendere persistenti i dati utente, indipendentemente dal fatto che il browser o il dispositivo supporti i cookie.
2 AutoDetect Specifica che ASP.NET determina se il browser o il dispositivo richiedente supporta i cookie. Se il browser o il dispositivo supporta i cookie, la funzionalità di richiesta usa i cookie per rendere persistenti i dati utente; in caso contrario, la funzionalità di richiesta usa un identificatore nella stringa di query. Se il browser o il dispositivo supporta i cookie, ma i cookie sono attualmente disabilitati, la funzionalità di richiesta usa comunque i cookie.
3 UseDeviceProfile Specifica che ASP.NET determina se utilizzare i cookie in base alla Cookies proprietà della classe System.Web.Configuration.HttpCapabilitiesBase. Se l'impostazione indica che il browser o il dispositivo supporta i cookie, la funzionalità di richiesta utilizza i cookie; in caso contrario, la funzionalità di richiesta usa un identificatore nella stringa di query.

Nella tabella seguente sono elencati i valori possibili per la Protection proprietà . Il valore predefinito è 0 (All).

Valore Parola chiave Descrizione
0 All Specifica che l'applicazione userà sia la convalida dei dati che la crittografia per proteggere i cookie. Questa opzione usa l'algoritmo di convalida dei dati specificato nella classe MachineKeySection . L'applicazione usa Triple Data Encryption Standard (Triple DES) per la crittografia, se disponibile e se la chiave è lunga almeno 48 byte. Nota: Questa è l'impostazione consigliata. Per migliorare la protezione del cookie, è anche possibile impostare la RequireSSL proprietà su true.
1 None Specifica che la crittografia e la convalida sono disabilitate. Questa impostazione è destinata ai siti con requisiti di sicurezza più deboli che usano i cookie solo per la personalizzazione. È consigliabile evitare di usare i cookie in questo modo; Tuttavia, è il modo meno intensivo per abilitare la personalizzazione usando .NET Framework.
2 Encryption Specifica che i cookie vengono crittografati con Triple DES o DES. Con questa impostazione, la convalida dei dati non viene eseguita sui cookie, che li rende soggetti ad attacchi di sicurezza in testo non crittografato.
3 Validation Specifica che l'applicazione userà uno schema di convalida per verificare che il contenuto di un cookie crittografato non sia stato modificato in transito. Il cookie viene creato dalla concatenazione di una chiave di convalida con i dati del cookie, calcolando un codice MAC (Message Authentication Code) e aggiungendolo al cookie in uscita.

Esempio

Nell'esempio seguente vengono visualizzate le impostazioni di autenticazione basata su form per il sito Web predefinito.

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")  
  
' Get the authentication section.  
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")  
oSite.GetSection "AuthenticationSection", oAuthSection  
  
' Assign the Forms property to a variable.  
Set oFormsAuthConfig = oAuthSection.Forms  
  
' Display the Forms authentication settings.  
WScript.Echo "Forms Authentication Settings"  
WScript.Echo "-----------------------------"  
  
WScript.Echo "Cookieless: [ " & _  
    CookielessText(oFormsAuthConfig.Cookieless)& " ]"  
  
WScript.Echo "Default Url: [ " & _  
    oFormsAuthConfig.DefaultUrl& " ]"  
  
WScript.Echo "Domain: [ " & oFormsAuthConfig.Domain& " ]"  
  
WScript.Echo "EnableCrossAppRedirects: [ " & _  
    oFormsAuthConfig.EnableCrossAppRedirects& " ]"  
  
WScript.Echo "LoginUrl: [ " & _  
    oFormsAuthConfig.LoginUrl & " ]"  
  
WScript.Echo "Name: [ " & oFormsAuthConfig.Name& " ]"  
  
WScript.Echo "Path: [ " & oFormsAuthConfig.Path& " ]"  
  
WScript.Echo "Protection: [ " & _  
    ProtectionText(oFormsAuthConfig.Protection)& " ]"  
  
WScript.Echo "RequireSSL: [ " & _  
    oFormsAuthConfig.RequireSSL& " ]"  
  
WScript.Echo "SlidingExpiration: [ " & _  
    oFormsAuthConfig.SlidingExpiration& " ]"  
  
WScript.Echo "Timeout: [ " & oFormsAuthConfig.Timeout& " ]"  
  
' Call a sub to display the credentials information.  
DisplayCredentials(oFormsAuthConfig.Credentials)  
  
' Convert the Cookieless enumeration values to text.  
Function CookielessText(enumValue)  
    Select Case enumValue  
        Case 0  
            CookielessText = "UseUri"  
        Case 1  
            CookielessText = "UseCookies"  
        Case 2  
            CookielessText = "AutoDetect"  
        Case 3  
            CookielessText = "UseDeviceProfile"  
        Case Else  
            CookielessText = "Undefined enumeration value."  
    End Select  
End Function  
  
' Convert the Protection enumeration values to text.  
Function ProtectionText(enumValue)  
    Select Case enumValue  
        Case 0  
            ProtectionText = "All"  
        Case 1  
            ProtectionText = "None"  
        Case 2  
            ProtectionText = "Encryption"  
        Case 3  
            ProtectionText = "Validation"  
        Case Else  
            ProtectionText = "Undefined enumeration value."  
    End Select  
End Function  
  
' Display the Forms authentication credentials.  
Sub DisplayCredentials(FA_Credentials)  
    WScript.Echo vbCrLf & "Forms Authentication Credentials"  
    WScript.Echo "--------------------------------"  
  
    ' Display the password encryption format.  
    WScript.Echo "Password Format: " & _  
        PwdFormatText(FA_Credentials.PasswordFormat) & VbCrLf  
  
    ' Display the Forms authentication users and passwords.  
    For Each FormsAuthUser In FA_Credentials.Credentials  
        WScript.Echo "    Name: [ " & FormsAuthUser.Name & " ]"  
        WScript.Echo "Password: [ " & _  
            FormsAuthUser.Password& " ]"  
        WScript.Echo  
    Next  
End Sub  
  
' Convert the PasswordFormat enumeration values to text.  
Function PwdFormatText(enumValue)  
    Select Case enumValue  
        Case 0  
            PwdFormatText = "Clear"  
        Case 1  
            PwdFormatText = "SHA1"  
        Case 2  
            PwdFormatText = "MD5"  
        Case Else  
            PwdFormatText = "Undefined enumeration value."  
    End Select  
End Function  
  

Gerarchia di ereditarietà

EmbeddedObject

FormsAuthenticationConfiguration

Requisiti

Tipo Descrizione
Client - IIS 7.0 in Windows Vista
- IIS 7.5 in Windows 7
- IIS 8.0 in Windows 8
- IIS 10.0 in Windows 10
Server - IIS 7.0 in Windows Server 2008
- IIS 7.5 in Windows Server 2008 R2
- IIS 8.0 in Windows Server 2012
- IIS 8.5 in Windows Server 2012 R2
- IIS 10.0 in Windows Server 2016
Prodotto - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
File MOF WebAdministration.mof

Vedere anche

Classe System.Web.Configuration.AuthenticationModeSystem.Web.Configuration.FormsAuthenticationConfigurationSystem.Web.Configuration.HttpCapabilitiesBaseAuthenticationSection
Classe EmbeddedObject
Classe FormsAuthenticationCredentials
Classe FormsAuthenticationUser
Classe MachineKeySection
Autenticazione basata su form tra applicazioni
CIM_DATETIME