Partager via


forms, élément de authentication (Schéma des paramètres ASP.NET)

Mise à jour : novembre 2007

Configure une application ASP.NET pour l'authentification par formulaire personnalisée.

configuration, élément (Schéma des paramètres généraux)
  system.web, élément (Schéma des paramètres ASP.NET)
    authentication, élément (Schéma des paramètres ASP.NET)
      forms, élément de authentication (Schéma des paramètres ASP.NET)

<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|UseCookie|AutoDetect|UseDeviceProfile]" 
   domain="domain name">
   <credentials>...</credentials>
</forms>

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut

Description

cookieless

Attribut facultatif.

Indique si les cookies sont utilisés et définit leur comportement.

Cet attribut peut avoir l'une des valeurs suivantes :

Remarque :

Lorsque vous configurez un site Web ASP.NET compatible Ajax, vous devez utiliser uniquement la valeur par défaut UseCookies pour l'attribut cookieless. Les autres paramètres, qui utilisent des cookies codés dans l'URL, ne sont pas pris en charge par les bibliothèques de script client ASP.NET AJAX.

Valeur

Description

UseCookies

Indique que les cookies sont toujours utilisés, indépendamment du périphérique.

UseUri

Indique que les cookies ne sont jamais utilisés.

AutoDetect

Indique que les cookies sont utilisés si le profil de périphérique prend en charge des cookies ; sinon, ils ne le sont pas.

Pour les navigateurs d'ordinateurs de bureau connus pour prendre en charge les cookies, un mécanisme de détection est utilisé pour essayer d'utiliser les cookies lorsqu'ils sont activés. Si un périphérique ne prend pas en charge les cookies, aucun mécanisme de détection n'est utilisé.

UseDeviceProfile

Indique que les cookies sont utilisés si le navigateur les prend en charge ; sinon, ils ne le sont pas.

Pour les périphériques prenant en charge les cookies, aucune détection n'est tentée pour déterminer si la prise en charge de cookies est activée.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est UseDeviceProfile.

defaultUrl

Attribut facultatif.

Définit l'URL par défaut utilisée pour la redirection après l'authentification.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est "default.aspx".

domain

Attribut facultatif.

Spécifie un domaine facultatif à définir sur les cookies d'authentification par formulaire sortants. Ce paramètre prend le pas sur le domaine utilisé dans l'élément httpCookies.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est une chaîne vide ("").

enableCrossAppRedirects

Attribut facultatif.

Indique si les utilisateurs authentifiés sont redirigés vers des URL d'autres applications Web.

Remarque :

Si la redirection vers d'autres applications est implémentée, vous devez vous assurer que plusieurs attributs de l'forms, élément de authentication (Schéma des paramètres ASP.NET) sont dupliqués entre les applications authentifiées. Pour plus d'informations et pour obtenir un exemple, consultez Authentification par formulaire entre des applications.

Cet attribut peut avoir l'une des valeurs suivantes :

Valeur

Description

True

Spécifie que les utilisateurs authentifiés peuvent être redirigés vers des URL d'autres applications Web.

False

Spécifie que les utilisateurs authentifiés ne peuvent pas être redirigés vers des URL d'autres applications Web.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est False.

loginUrl

Attribut facultatif.

Spécifie l'URL vers laquelle la demande est redirigée pour l'ouverture de session, en l'absence d'un cookie d'authentification valide.

La valeur par défaut est login.aspx.

name

Attribut facultatif.

Spécifie le cookie HTTP à utiliser pour l'authentification. Si plusieurs applications s'exécutent sur un même serveur et que chaque application exige un cookie unique, vous devez configurer le nom du cookie dans chaque fichier Web.config de chaque application.

La valeur par défaut est ".ASPXAUTH".

path

Attribut facultatif.

Spécifie le chemin d'accès des cookies émis par l'application.

La valeur par défaut est une barre oblique (/), car la plupart des navigateurs respectent la casse et ne renverront pas de cookies lorsque la casse du chemin d'accès ne correspond pas.

protection

Attribut facultatif.

Spécifie le type de chiffrement, si celui-ci existe, à utiliser pour les cookies.

Cet attribut peut avoir l'une des valeurs suivantes :

Valeur

Description

All

Spécifie que l'application utilise la validation et le chiffrement des données pour permettre de protéger le cookie. Cette option utilise l'algorithme de validation des données configuré, basé sur l'élément machineKey. Triple-DES (3DES) est utilisé pour le chiffrement s'il est disponible et si la clé est suffisamment longue (48 octets au minimum). All est la valeur par défaut (et recommandée).

Encryption

Spécifie que le chiffrement et la validation sont tous deux désactivés pour les sites utilisant des cookies uniquement pour la personnalisation et présentant des exigences de sécurité moins strictes. Il n'est pas recommandé d'utiliser des cookies de cette manière ; toutefois, il s'agit de la méthode nécessitant le moins de ressources pour permettre la personnalisation dans le .NET Framework.

None

Spécifie que le cookie est chiffré à l'aide de 3DES ou de DES mais qu'aucune validation de données n'est effectuée sur le cookie. Une telle utilisation des cookies peut favoriser certaines attaques de texte brut.

Validation

Spécifie qu'un schéma de validation vérifie que le contenu d'un cookie chiffré n'a pas été modifié lors du transit. Le cookie est créé à l'aide de la validation de cookie par la concaténation d'une clé de validation avec les données du cookie, le calcul d'un code d'authentification de message (MAC) et enfin par l'ajout du code MAC au cookie sortant.

La valeur par défaut est All.

requireSSL

Attribut facultatif.

Spécifie si une connexion SSL doit transmettre le cookie d'authentification.

Cet attribut peut avoir l'une des valeurs suivantes :

Valeur

Description

True

Spécifie si une connexion SSL doit permettre de protéger les informations d'identification de l'utilisateur. Si la valeur est True, ASP.NET définit la propriété Secure du cookie d'authentification et un navigateur compatible ne retourne pas le cookie, sauf si la connexion utilise SSL.

False

Spécifie qu'une connexion SSL ne doit pas transmettre le cookie. La valeur par défaut est False.

La valeur par défaut est False.

slidingExpiration

Attribut facultatif.

Spécifie si l'expiration décalée est activée. L'expiration décalée réinitialise l'heure d'authentification active pour qu'un cookie expire après chaque demande au cours d'une même session.

Cet attribut peut avoir l'une des valeurs suivantes :

Valeur

Description

True

Spécifie que l'expiration décalée est activée. Le cookie d'authentification est actualisé et le temps d'expiration est rétabli à chaque demande ultérieure lors d'une seule session.

False

Spécifie que l'expiration décalée n'est pas activée et que le cookie expire à intervalle défini à partir de l'heure de son émission d'origine.

La valeur par défaut est True.

timeout

Attribut facultatif.

Spécifie la durée, en minutes entières, au terme de laquelle le cookie expire. Si l'attribut SlidingExpiration est true, l'attribut timeout est une valeur décalée. Le cookie expire au terme du nombre spécifié de minutes suivant la réception de la dernière demande. Pour préserver de bonnes performances et éviter que les utilisateurs ayant activé les avertissements relatifs aux cookies ne reçoivent de multiples avertissements des navigateurs, le cookie est mis à jour lorsque plus de la moitié du temps spécifié s'est écoulé. Cela peut se traduire par une perte de précision. La valeur par défaut est "30" (30 minutes).

Remarque :

Sous ASP.NET version 1.1, les cookies persistants n'ont pas de délai d'attente, indépendamment du paramètre de l'attribut de délai d'attente. Toutefois, en ce qui concerne ASP.NET version 2.0, les cookies persistants expirent en fonction de l'attribut de délai d'attente.

Éléments enfants

Sous-balise

Description

credentials

Permet des définitions facultatives d'informations d'identification de nom et de mot de passe dans le fichier de configuration. Vous pouvez également implémenter un schéma de mot de passe personnalisé de façon à utiliser une source externe, telle qu'une base de données, pour contrôler la validation.

Éléments parents

Élément

Description

configuration

Spécifie l'élément racine requis dans chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.

system.web

Spécifie l'élément racine des paramètres de configuration ASP.NET dans un fichier de configuration et contient des éléments de configuration qui configurent des applications Web ASP.NET et contrôlent le comportement des applications.

authentication

Configure le schéma d'authentification ASP.NET qui est utilisé pour identifier les utilisateurs qui consultent une application ASP.NET.

Notes

L'élément forms configure une application ASP.NET pour l'authentification par formulaire personnalisée. Si plusieurs applications s'exécutent sur un même serveur, les attributs de l'élément forms doivent être configurés dans le fichier Web.config de chaque application. Pour plus d'informations, consultez Authentification par formulaire entre des applications.

Vous pouvez dépasser la taille maximale de l'URI lorsque vous envoyez le ticket d'authentification par formulaire dans l'URI. Si la combinaison du ticket d'authentification anonyme, du ticket d'authentification par formulaire, de l'ID de session et des données utilisateur donne une valeur supérieure à la longueur maximale autorisée de l'URI, la demande échoue avec une erreur 400 - Demande incorrecte.

Configuration par défaut

L'élément forms par défaut n'est pas configuré explicitement dans le fichier Machine.config ou dans le fichier Web.config racine. Toutefois, il s'agit de la configuration par défaut retournée par l'application dans le .NET Framework 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>

L'élément forms par défaut est configuré dans le fichier Machine.config de la version 1.1 du .NET Framework.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" 
   requireSSL="false" 
   slidingExpiration="true">
   <credentials passwordFormat="SHA1"></credentials>
</forms>

L'élément forms par défaut est configuré dans le fichier Machine.config de la version 1.0 du .NET Framework.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" >
   <credentials passwordFormat="SHA1"></credentials>
</forms>

Exemple

L'exemple de code suivant montre comment configurer un site pour l'authentification par formulaire, spécifie le nom du cookie qui transmet les informations de connexion du client et indique le nom de la page d'ouverture de session à utiliser, en cas d'échec de l'authentification initiale.

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

Informations sur les éléments

Gestionnaire de section de configuration

AuthenticationSection

Membre de configuration

FormsAuthentication

FormsAuthenticationConfiguration

Emplacements configurables

Machine.config

Web.config racine

Web.config au niveau de l'application

Configuration requise

Microsoft Internet Information Services (IIS) version 5.0, 5.1 ou 6.0

.NET Framework version 1.0, 1.1 ou 2.0

Microsoft Visual Studio 2003 ou Visual Studio 2005

Voir aussi

Tâches

Comment : configurer des répertoires spécifiques à l'aide des paramètres d'emplacement

Comment : verrouiller des paramètres de configuration ASP.NET

Concepts

Authentification par formulaire entre des applications

Hiérarchie du fichier de configuration ASP.NET et héritage

Sécurisation de la configuration ASP.NET

Scénarios de configuration ASP.NET

Référence

authentication, élément (Schéma des paramètres ASP.NET)

credentials, élément de forms pour authentication (Schéma des paramètres ASP.NET)

system.web, élément (Schéma des paramètres ASP.NET)

passport, élément de authentication (Schéma des paramètres ASP.NET)

configuration, élément (Schéma des paramètres généraux)

System.Configuration

System.Web.Configuration

AuthenticationSection

FormsAuthentication

Autres ressources

Authentification ASP.NET

Paramètres généraux de configuration (ASP.NET)

Paramètres de configuration ASP.NET

Administration de sites Web ASP.NET

Fichiers de configuration ASP.NET

API de configuration ASP.NET