Exemple de code MSDN Description: l'exemple de code suivant utilise la propriété IsAuthenticated pour déterminer si la demande en cours a été authentifiée. S'il n'a pas été authentifié, la demande est redirigée vers une autre page où les utilisateurs peuvent entrer leurs informations d'identification dans l'application Web. Il s'agit d'une technique courante utilisée dans la page par défaut d'une application.
C'est super mais pas de détail ou quoi que ce soit ...
Que vérifie-t-il exactement? Comment puis-je le définir sur vrai?
Allez plus loin: où trouver une documentation plus détaillée à ce sujet?
Grâce à Google, j'ai trouvé une version en cache du post auquel @keyboardP fait référence dans sa réponse . Je poste cette réponse/publication ici comme référence pour les autres, car le lien d'origine est rompu (2012-12-06).
Question d'origine auquel la réponse ci-dessous fait référence:
J'ai une application basée sur des formulaires qui me donne des ajustements. J'ai remarqué que, dans un emplacement où la propriété IsAuthenticated avait été True, elle était désormais fausse et ne fonctionnait pas comme prévu. Je me demande si j'ai un paramètre invalide ??
Quelqu'un peut-il me dire ce qui définit la propriété IsAuthenticated sur True - ce qui constitue la connexion.
Réponse de Daniel Kent:
Request.IsAuthenticated
n'est pas seulement pour l'authentification des formulaires - il est valide quel que soit le type d'authentification utilisé (Windows, Passport, Forms ou notre propre schéma personnalisé)
HttpRequest.IsAuthenticated
sera vrai lorsque l'utilisateur effectuant la demande aura été authentifié. Essentiellement, cette propriété fournit les mêmes informations que Context.User.Identity.IsAuthenticated
.
Au début d'une demande, Context.User.Idenity
contient un GenericIdentity
avec un nom d'utilisateur nul. La propriété IsAuthenticated
de cet objet renverra false
so Request.IsAuthenticated
sera false
. Lorsqu'un module d'authentification gère le Application_AuthenticateRequest
événement et authentifie avec succès l'utilisateur qu'il remplace GenericIdentity
dans Context.User.Identity
avec un nouvel objet IIdentity
qui renverra true
de sa propriété IsAuthenticated
. Request.IsAuthenticated
renverra alors true
.
Dans le cas de l'authentification par formulaire, le module d'authentification par formulaire utilise le ticket d'authentification chiffré contenu dans le cookie d'authentification pour authentifier l'utilisateur. Une fois cela fait, il remplace le GenericIdentity
dans Context.User.Identity
avec un objet FormsIdentity
qui renvoie True
à partir de sa propriété IsAuthenticated
.
Ainsi, définir IsAuthenticated
sur true
est en fait différent de la connexion. Comme le dit Jeff, la connexion à l'authentification par formulaire se produit lorsque le ticket d'authentification est généré et envoyé au client sous forme de cookie. (RedirectFromLoginPage
ou SetAuthCookie
) Ce dont nous parlons avec IsAuthenticated
, c'est l'authentification qui se produit à chaque demande de page. La connexion se produit lorsqu'un utilisateur entre ses informations d'identification et reçoit un ticket, l'authentification se produit à chaque demande.
Il y a un article assez détaillé de Daniel Kent ici . (Fragment)
Request.IsAuthenticated n'est pas seulement pour l'authentification des formulaires - il est valide quel que soit le type d'authentification utilisé (Windows, Passport, Forms ou notre propre schéma personnalisé)
HttpRequest.IsAuthenticated sera vrai lorsque l'utilisateur effectuant la demande aura été authentifié. Essentiellement, cette propriété fournit les mêmes informations que Context.User.Identity.IsAuthenticated.