Partager via


Authentification par formulaire entre des applications

ASP.NET prend en charge l'authentification par formulaire dans un environnement distribué, soit entre des applications sur un serveur unique, soit dans une batterie de serveurs Web. Lorsque l'authentification par formulaire est activée entre plusieurs applications ASP.NET, les utilisateurs ne sont pas tenus de s'authentifier à nouveau lorsqu'ils passent d'une application à l'autre.

Configuration de l'authentification par formulaire entre des applications

Pour configurer l'authentification par formulaire dans plusieurs applications, vous définissez plusieurs attributs dans les sections de configuration forms et machineKey afin que les valeurs soient identiques pour toutes les applications qui prennent part à l'authentification par formulaire partagée.

L'exemple suivant illustre la section Authentication d'un fichier Web.config. Sauf indication contraire, les attributs name, protection, path, validationKey, validation, decryptionKey et decryption doivent être identiques pour toutes les applications. De la même façon, les clés de chiffrement et de validation ainsi que le mécanisme de chiffrement et le schéma de validation utilisés pour des données de cookie doivent être identiques. Si les paramètres ne correspondent pas, les cookies ne peuvent pas être partagés.

Notes

Les applications qui exécutent ASP.NET version 2.0 peuvent partager des informations du ticket d'authentification par formulaire avec des versions antérieures d'ASP.NET à condition d'inclure decryption="3DES" dans la configuration de l'élément machineKey pour chaque application ASP.NET version 2.0.

<configuration>
  <system.web>
    <authentication mode="Forms" >
      <!-- The name, protection, and path attributes must match 
           exactly in each Web.config file. -->
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" 
        protection="All"  
        path="/" 
        timeout="30" />
    </authentication>

    <!-- Validation and decryption keys must exactly match and cannot
         be set to "AutoGenerate". The validation and decryption
         algorithms must also be the same. -->
    <machineKey
      validationKey="[your key here]" 
      decryptionKey="[your key here]" 
      validation="SHA1" />
  </system.web>
</configuration>

Après l'émission d'un cookie, son expiration fait l'objet d'un suivi en fonction de la valeur Expires dans le cookie lui-même. Cela signifie que si deux applications possèdent des attributs Timeout différents, la date et l'heure d'expiration définies lors de l'émission d'origine de chaque cookie sont conservées durant la durée de vie du cookie. Lors de la mise à jour d'un cookie, l'expiration d'origine du cookie est utilisée pour calculer la nouvelle expiration. La seule fois où la valeur Timeout de configuration est utilisée correspond à la création initiale du cookie.

Voir aussi

Tâches

Comment : implémenter une simple authentification par formulaire

Autres ressources

Sécurité des applications Web ASP.NET