Partager via


Classe FormsAuthenticationConfiguration

Configure l’authentification par formulaire pour une application ASP.NET.

Syntaxe

class FormsAuthenticationConfiguration : EmbeddedObject  

Méthodes

Cette classe ne contient pas de méthodes.

Propriétés

Le tableau suivant répertorie les propriétés exposées par la classe FormsAuthenticationConfiguration.

Nom Description
Cookieless Une énumération en lecture/écriture sint32 qui spécifie si l’authentification par formulaire doit utiliser des cookies. Les valeurs possibles sont répertoriées plus loin dans la section Remarques.
Credentials Une valeur FormsAuthenticationCredentials qui contient une collection de noms d’utilisateurs et de mots de passe à utiliser pendant l’authentification par formulaire. Remarque : lorsque la sécurité est requise, vous devez utiliser d’autres méthodes de stockage des noms d’utilisateur et des mots de passe (par exemple, dans un magasin de données). Si vous décidez d’utiliser cette collection, vous devez spécifier un format de chiffrement dans la propriété PasswordFormat de la classe FormsAuthenticationCredentials.
DefaultUrl Une valeur en lecture/écriture string non vide qui spécifie l’URL par défaut vers laquelle diriger la demande après l’authentification. La valeur par défaut est « default.aspx ».
Domain Une valeur en lecture/écriture string qui spécifie le nom de domaine à envoyer avec les cookies d’authentification par formulaire. La valeur par défaut est "". Pour les cookies d’authentification par formulaire, ce paramètre est prioritaire sur le paramètre dans la propriété Domain de la classe HttpCookiesSection.
EnableCrossAppRedirects Une valeur boolean en lecture/écriture. true si les utilisateurs authentifiés peuvent être redirigés vers des URL dans d’autres applications ; sinon, false. Par défaut, il s’agit de false. Si cette propriété est true, la redirection est effectuée ; sinon, le navigateur est redirigé vers la page définie dans la propriété DefaultUrl. Remarque : lorsque l’authentification par formulaire est activée sur plusieurs applications ASP.NET, les utilisateurs ne sont pas tenus de se réauthentifier lorsqu’ils basculent entre les applications. Pour plus d’informations, consultez Authentification par formulaire entre les applications.
LoginUrl Une valeur de lecture/écriture string non vide qui spécifie l’URL vers laquelle la demande est redirigée lorsque l’utilisateur n’est pas authentifié ou lorsqu’aucun cookie d’authentification valide n’existe. La valeur par défaut est « login.aspx ».
Name Une valeur de lecture/écriture string non vide qui spécifie le nom du cookie HTTP à utiliser pour demander l’authentification. Le nom par défaut est « .ASPXAUTH ».
Path Une valeur de lecture/écriture string non vide qui spécifie le chemin d’accès du cookie HTTP à utiliser pour l’authentification. Le chemin d’accès est transmis avec le cookie d’authentification lui-même. La valeur par défaut est « / », qui représente la racine de l’application web.
Protection Une valeur en lecture/écriture sint32 qui spécifie la méthode de chiffrement utilisée pour le cookie. Les valeurs possibles sont répertoriées plus loin dans la section Remarques.
RequireSSL Une valeur boolean en lecture/écriture. true si une connexion SSL (Secure Sockets Layer) est requise pour l’authentification ; sinon, false. Par défaut, il s’agit de false. Si cette propriété est true, une application web rejette toutes les demandes d’authentification par formulaire qui n’utilisent pas de connexion SSL.
SlidingExpiration Une valeur boolean en lecture/écriture. true si l’expiration du cookie d’authentification est définie sur la date et l’heure actuelles, plus la valeur, en minutes, de la propriété Timeout ; sinon, false. Par défaut, il s’agit de true.

Si true, la date et l’heure d’expiration du cookie sont automatiquement réinitialisées si moins de la moitié de la valeur de Timeout reste et que l’utilisateur utilise toujours activement l’application. Si false, le cookie expire automatiquement après l’intervalle spécifié dans la propriété Timeout.
Timeout Une valeur de lecture/écriture datetime qui spécifie la durée après laquelle l’authentification expire. La durée par défaut est de 30 minutes.

Sous-classes

Cette classe ne contient aucune sous-classe.

Notes

Les instances de cette classe sont contenues dans la propriété Forms de la classe AuthenticationSection.

Le tableau suivant répertorie les valeurs possibles pour la propriété Cookieless. La valeur par défaut est 3 (UseDeviceProfile).

Valeur Mot clé Description
0 UseUri Spécifie que la fonctionnalité appelante utilise la chaîne de requête pour stocker un identificateur, que le navigateur ou l’appareil prenne en charge les cookies ou non.
1 UseCookies Spécifie que les cookies sont utilisés pour conserver les données utilisateur, que le navigateur ou l’appareil prenne en charge les cookies ou non.
2 AutoDetect Spécifie que ASP.NET détermine si le navigateur ou l’appareil demandeur prend en charge les cookies. Si le navigateur ou l’appareil prend en charge les cookies, la fonctionnalité requérante utilise des cookies pour conserver les données utilisateur ; sinon, la fonctionnalité requérante utilise un identificateur dans la chaîne de requête. Si le navigateur ou l’appareil prend en charge les cookies mais que les cookies sont actuellement désactivés, la fonctionnalité demandée utilise toujours des cookies.
3 UseDeviceProfile Spécifie que ASP.NET détermine s’il faut utiliser des cookies en fonction de la propriété Cookies de la classe System.Web.Configuration.HttpCapabilitiesBase.Cookies. Si le paramètre indique que le navigateur ou l’appareil prend en charge les cookies, la fonctionnalité requérante utilise des cookies ; sinon, la fonctionnalité requérante utilise un identificateur dans la chaîne de requête.

Le tableau suivant répertorie les valeurs possibles pour la propriété Protection. La valeur par défaut est 0 (All).

Valeur Mot clé Description
0 All Indique que l’application utilise la validation des données et le chiffrement pour protéger les cookies. Cette option utilise l’algorithme de validation des données spécifié dans la classe MachineKeySection. L’application utilise le Triple Data Encryption Standard (Triple DES) pour le chiffrement s’il est disponible et si la clé est d’au moins 48 octets de long. Remarque : il s’agit du paramètre recommandé. Pour améliorer la protection de votre cookie, vous pouvez également définir la propriété RequireSSL sur true.
1 None Spécifie que le chiffrement et la validation sont désactivés. Ce paramètre concerne les sites avec des exigences de sécurité plus faibles qui utilisent des cookies uniquement pour la personnalisation. Vous devez éviter d’utiliser des cookies de cette façon. Toutefois, il s’agit du moyen le moins gourmand en ressources d’activer la personnalisation à l’aide du .NET Framework.
2 Encryption Spécifie que les cookies sont chiffrés avec Triple DES ou DES. Avec ce paramètre, la validation des données n’est pas effectuée sur les cookies, ce qui les rend sujets à des attaques de sécurité en texte clair.
3 Validation Spécifie que l’application utilisera un schéma de validation pour vérifier que le contenu d’un cookie chiffré n’a pas été modifié en transit. Le cookie est créé par la concaténation d’une clé de validation avec les données de cookie, le calcul d’un code MAC (Message Authentication Code) et l’ajout du MAC au cookie sortant.

Exemple

L’exemple suivant affiche les paramètres d’authentification par formulaire pour le site Web par défaut.

' 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  
  

Hiérarchie d'héritage

EmbeddedObject

FormsAuthenticationConfiguration

Spécifications

Type Description
Client - IIS 7.0 sur Windows Vista
- IIS 7.5 sur Windows 7
- IIS 8.0 sur Windows 8
- IIS 10.0 sur Windows 10
Serveur - IIS 7.0 sur Windows Server 2008
- IIS 7.5 sur Windows Server 2008 R2
- IIS 8.0 sur Windows Server 2012
- IIS 8.5 sur Windows Server 2012 R2
- IIS 10.0 sur Windows Server 2016
Produit - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
Fichier MOF WebAdministration.mof

Voir aussi

System.Web.Configuration.AuthenticationModeSystem.Web.Configuration.FormsAuthenticationConfigurationSystem.Web.Configuration.HttpCapabilitiesBaseClasse AuthenticationSection
Classe EmbeddedObject
Classe FormsAuthenticationCredentials
Classe FormsAuthenticationUser
Classe MachineKeySection
Authentification par formulaire entre les applications
CIM_DATETIME