¿Cómo Request.IsAuthenticated trabajo?
-
18-09-2019 - |
Pregunta
Código de MSDN Descripción de la muestra: El ejemplo de código siguiente utiliza la propiedad IsAuthenticated para determinar si la petición actual ha sido autenticada. Si no ha sido autenticado, la solicitud se redirige a otra página donde los usuarios pueden introducir sus credenciales en la aplicación Web. Esta es una técnica común utilizada en la página por defecto para una aplicación.
Esto es muy bueno, pero ningún detalle ni nada ...
¿qué es exactamente comprobando? ¿Cómo se configura a true?
Hacer un esfuerzo adicional:? ¿Dónde puedo encontrar documentación más detallada sobre este
Solución
Gracias a Google, he encontrado una versión en caché del puesto @keyboardP se refiere en su respuesta . Les dejo que la respuesta / post aquí como referencia para otros, ya que el enlace original se rompe (06/12/2012).
pregunta original que la respuesta a continuación se refiere a:
Tengo una aplicación basada en formas que me está dando encaja. Me di cuenta de que, en un lugar donde la propiedad IsAuthenticated había sido cierto, era ahora falso y el no estaba funcionando como se esperaba. Me pregunto si tengo una escenario que no es válido ??
Puede alguien decirme lo que establece la propiedad IsAuthenticated a True - lo CONSTITUYE iniciar la sesión.
Respuesta de Daniel Kent:
Request.IsAuthenticated
no es sólo para las formas authentciation - es válida
no importa qué tipo de autenticación que se está utilizando (Windows, pasaporte,
Formas o nuestra propia combinación personalizada)
HttpRequest.IsAuthenticated
será cierto cuando el usuario que realiza la solicitud
ha sido autenticado. En esencia, esta propiedad ofrece la misma
Context.User.Identity.IsAuthenticated
información.
En el inicio de una solicitud, Context.User.Idenity
contiene una GenericIdentity
con un nombre de usuario nulo. La propiedad IsAuthenticated
para este objeto se producirá
false
volver por lo que se Request.IsAuthenticated
false
. Cuando un
módulo de autenticación controla el evento y Application_AuthenticateRequest
exitosamente autentica al usuario al que sustituye el GenericIdentity
en
Context.User.Identity
con un nuevo objeto IIdentity
que devolverá true
de
IsAuthenticated
su propiedad. Request.IsAuthenticated
volverá entonces true
.
En el caso de la autenticación de formularios, los usos del módulo de autenticación de formularios
el vale de autenticación cifrada contenida en la cookie de autenticación
para autenticar al usuario. Una vez se ha hecho esto, que sustituye a la
GenericIdentity
en Context.User.Identity
con un objeto FormsIdentity
que
True
retornos de su propiedad IsAuthenticated
.
Por lo tanto, el establecimiento de IsAuthenticated
a true
es en realidad diferente a la tala. Como
Jeff dice, iniciar sesión en formas de autenticación sucede cuando el
vale de autenticación se genera y envía al cliente como una galleta.
(RedirectFromLoginPage
o SetAuthCookie
) Lo que estamos hablando con
IsAuthenticated
es de autenticación que ocurre con cada solicitud de página.
Inicio de sesión en que sucede cuando un usuario introduce sus credenciales y se emite una
billete, autenticación sucede con cada solicitud.
Otros consejos
Hay un post bastante detallada por Daniel Kent rel="noreferrer"> . (Fragmento)
Request.IsAuthenticated es no sólo para las formas authentciation - se es válido sin importar qué tipo de se utiliza la autenticación (Windows, Pasaporte, formas o nuestra propia personalizada esquema)
HttpRequest.IsAuthenticated habrá cierto cuando el usuario que realiza la solicitud ha sido autenticado. Esencialmente, esta propiedad ofrece la misma información Context.User.Identity.IsAuthenticated.