Comprendre le Ticket d'authentification de formulaires et de cookies

Traductions disponibles Traductions disponibles
Numéro d'article: 910443 - Voir les produits auxquels s'applique cet article
Colonne vocale d'assistance ASP.NET

Comprendre le Ticket d'authentification de formulaires et de cookies

Pour personnaliser cette colonne à vos besoins, nous souhaitons vous inviter à soumettre vos idées sur les sujets qui vous intéressent et problèmes que vous souhaitez voir traités dans de futurs articles de la Base de connaissances et des colonnes Support Voice. Vous pouvez soumettre vos idées et vos commentaires à l'aide de la Demandez-le . Il existe également un lien vers le formulaire au bas de cette colonne.
Agrandir tout | Réduire tout

Sommaire

Introduction

Bienvenue dans la colonne d'assistance vocale ASP.NET de Microsoft ! Je suis Nilay B. Shah avec l'équipe de support de développement ASP.NET. J'ai travaillé avec prise en charge d'ASP.NET depuis plus d'un et demi ans. L'authentification par formulaires est vraiment une fonction d'authentification personnalisé. Cet article décrit certains problèmes que les utilisateurs ont trouvé confus avec l'authentification par formulaires, tels que la relation entre le ticket d'authentification par formulaires et le cookie d'authentification de formulaires et leurs paramètres pertinents. J'aimerais remercier Jerry Orman, responsable technique pour l'équipe de prise en charge ASP.NET, pour son aide incroyable !

Personnes se demandent parfois sur les formulaires d'authentification « billets » et « cookies », car ils sont étroitement liés. Je suis devenu sur des questions telles que : vous pouvez toute personne expliquer la différence entre la date d'expiration du cookie et la date d'expiration du ticket ? Lorsque le cookie expire, l'utilisateur sera redirigé vers la page d'ouverture de session. Que se passe-t-il lorsque le ticket expire ? Il vérifiera également le cookie expire ? Quel SlidingUpdate réellement mettre à jour ?

Je me concentrerai sur ces deux aspects de l'authentification par formulaires dans cet article pour répondre aux questions suivantes :
  • Ce qui est des formulaires cookie de ticket et formsauthentication d'authentification ? Quelle mesure sont-ils associés ?
  • Quel est le rôle d'un ticket FormsAuthentication ?
  • Comment les expiration du cookie et expirationrelated de ticket ?
  • Comment fonctionne-t-il coulissant d'expiration dans le contexte du ticket formsauthentication et cookie d'authentification des formulaires ?
  • Dans la propriété de délai d'expiration du ticket d'authentification de formulaires et formulaires authenticationcookie peut être définie ?
  • Scénario de problème : l'authentification de formulaires peut de temps outbefore la valeur d'attribut de délai d'expiration est définie dans le configurationfile

Quel est le ticket d'authentification de formulaires et le cookie d'authentification des formulaires ? Comment arethey liés ?

Cookie d'authentification de formulaires n'est rien d'autre que le conteneur de ticket d'authentification de formulaires. Le ticket est passé en tant que la valeur du cookie d'authentification forms avec chaque demande et est utilisé par l'authentification par formulaires, sur le serveur, pour identifier un utilisateur authentifié.

Toutefois, si vous choisissez l'authentification par formulaire sans cookie, le ticket est passé dans l'URL dans un format crypté. L'authentification par formulaire sans cookie est utilisée parce que parfois les navigateurs clients bloquent les cookies. Cette fonction est introduite dans le Microsoft.NET Framework 2.0.

Pour plus d'informations, visitez le site Web de Microsoft Developer Network (MSDN) à l'adresse suivante :
http://msdn2.Microsoft.com/en-us/library/System.Web.Configuration.FormsAuthenticationConfiguration.Cookieless.aspx

Quel est le rôle d'un ticket informe l'authentification ?

Le ticket d'authentification par formulaires est utilisé pour indiquer à l'application ASP.NET qui vous êtes. Ticket est donc de bloc de construction de la sécurité de l'authentification des formulaires.

Le ticket est crypté et signé à l'aide de la <machineKey></machineKey> élément de configuration du fichier Machine.config du serveur. ASP.NET 2.0 utilise le decryptionKey et le nouvel attribut de déchiffrement de le <machineKey></machineKey> élément pour crypter les tickets d'authentification de formulaires. L'attribut de déchiffrement vous permet de spécifier l'algorithme de chiffrement à utiliser. ASP.NET 1.1 et 1.0 utilisent le cryptage 3DES, qui n'est pas configurable. Falsification de la valeur du ticket est déterminé par une panne de décrypter le ticket sur le serveur. Par conséquent, l'utilisateur sera redirigé vers la page d'ouverture de session.

Si l'application est déployée dans une batterie de serveurs Web, vous devez vous assurer que les fichiers de configuration sur chaque serveur partagent la même valeur pour les attributs validationKey et decryptionKey dans le <machineKey></machineKey> , balise sont utilisés respectivement pour le hachage et le décryptage du ticket. Vous devez le faire, car vous ne garantissez pas le serveur qui va gérer les demandes successives. Pour plus d'informations sur le cryptage de FormsAuthenticationTicket et considérations de déploiement de batterie de serveurs Web, reportez-vous au site Web MSDN suivant :
http://msdn2.Microsoft.com/en-us/library/ms998288.aspx
Parcours des méthodes pour générer des clés manuellement, vous pouvez trouver dans les articles suivants de la Base de connaissances Microsoft :
312906 Comment faire pour créer des clés à l'aide de Visual C# .NET pour utiliser l'authentification par formulaire
313091 Comment faire pour créer des clés à l'aide de Visual Basic .NET pour utiliser l'authentification par formulaire
Les tickets d'authentification Forms peuvent être générés manuellement à l'aide de la classe FormsAuthenticationTicket . Pour plus d'informations, visitez le site Web MSDN suivant :
http://msdn2.Microsoft.com/en-us/library/System.Web.Security.FormsAuthenticationTicket.aspx

L'expiration du cookie et l'expiration du ticket associés ?

Dans le cas d'un cookie non persistant, si le ticket a expiré, cookie expirera également et l'utilisateur sera redirigé vers la page d'ouverture de session. De l'autre côté, si le ticket est marqué comme permanent, où le cookie est stocké dans la zone client, navigateurs peuvent utiliser le même cookie d'authentification pour se connecter au site Web de n'importe quel moment. Toutefois, nous pouvons utiliser la méthode FormsAuthentication.SignOut pour supprimer persistants ou les cookies non persistants explicitement.

Pour plus d'informations sur la méthode FormsAuthentication.SignOut , visitez le site Web MSDN suivant :
http://msdn2.Microsoft.com/en-us/library/System.Web.Security.FormsAuthentication.SignOut.aspx
Avec l'authentification par formulaire sans cookies, si le navigateur est fermé, le ticket est perdu et un nouveau ticket sera généré lors de la prochaine demande.

Comment fonctionne-t-il coulissant d'expiration du ticket d'authentification d'offorms contexte et cookie d'authentification des formulaires ?

L'expiration décalée fonctionne exactement de la même manière !

Faites-nous confiance par exemple : si la page d'ouverture de session est accessible à 5 h 00:00:00 PM, il doit se terminer à 5:10:00 : 00:00 PM si l'attribut de délai d'expiration est 10 et l'attribut slidingExpiration est défini sur TRUE. Désormais, si une page Web est consultée à 5:05 00:00:00 PM, les cookies et le délai d'attente ticket seront réinitialisées à 5:15:00 : 00:00 PM.

Remarque : Si la page Web est accessible avant la moitié de l'écoulement de ce délai d'expiration, l'heure d'expiration du ticket ne réinitialise pas. Exemple de premier plan, si n'importe quelle page Web est accessible à 5:04 00:00:00 PM, les cookies et le délai d'expiration de ticket ne seront pas réinitialisées.

Pour plus d'informations, visitez le site Web MSDN suivant :
http://msdn2.Microsoft.com/en-us/library/1d3t3c61 (vs.71).aspx

Dans la valeur de délai d'attente du ticket d'authentification par formulaires d'authentification cookieand formulaires peut être définie ?

Le seul paramètre que vous pouvez apporter est dans le fichier Web.config ou le fichier Machine.config, dans le <forms></forms> balises. Cette modification déterminera le délai d'authentification par formulaires dans le contexte d'un ticket ou un cookie, sauf si le ticket est généré manuellement.

<!--
forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
Pour plus d'informations, visitez le site Web MSDN suivant :
http://msdn2.Microsoft.com/en-us/library/1d3t3c61.aspx
Si le ticket est généré manuellement à l'aide de la classe FormsAuthenticationTicket , le délai d'attente peut être définie via l'attribut Expiration . Cette valeur remplace la valeur d'attribut de délai d'attente spécifiée dans les fichiers de configuration.

Pour plus d'informations sur les membres de FormsAuthenticationTicket , visitez le site Web MSDN suivant :
http://msdn2.Microsoft.com/en-us/library/System.Web.Security.formsauthenticationticket_members.aspx

Scénario de problème : l'authentification de formulaires peut expirer avant la valeur de l'attribut du délai d'attente qui est définie dans le fichier de configuration

Si le ticket d'authentification par formulaires est généré manuellement, la propriété de délai d'expiration du ticket remplacera la valeur qui est définie dans le fichier de configuration. Par conséquent, si cette valeur est inférieure à la valeur dans le fichier de configuration, les formulaires de ticket d'authentification expire avant que le fichier de configuration timeout attribut valeur et vice versa. Par exemple, supposons que la <forms> </forms>attribut timeout est défini sur 30 dans le fichier Web.config et la valeur d'Expiration du ticket est définie à 20 minutes. Dans ce cas, le ticket d'authentification par formulaires expire au bout de 20 minutes, et l'utilisateur devra se connecter à nouveau après que.

Liens connexes

910439 Résoudre les problèmes liés à l'authentification par formulaires
891032 Résolution des problèmes d'ASP.NET
301240 Comment faire pour implémenter l'authentification basée sur les formulaires dans votre application ASP.NET à l'aide de C# .NET
308157 Comment faire pour implémenter l'authentification basée sur les formulaires dans votre application ASP.NET à l'aide de Visual Basic .NET
J'espère que vous avez trouvé ces informations utiles pour certains de la confusion impliquée dans un cookie et le ticket d'authentification de formulaires ASP.NET d'accélération. N'oubliez pas que les colonnes de Support Voice sont pour vous ! Comme toujours, n'hésitez à soumettre des idées sur des sujets que vous souhaitez traités dans de futurs des colonnes ou dans la Base de connaissances Microsoft en utilisant le Demandez-le .

Propriétés

Numéro d'article: 910443 - Dernière mise à jour: samedi 21 septembre 2013 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Mots-clés : 
kbhowto kbasp kbmt KB910443 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d?une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 910443
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com