Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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à
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