Gracias a Google, encontré una versión en caché de la publicación @keyboardP se refiere a his answer. Estoy publicando esa respuesta/publicación aquí como referencia para otros ya que el enlace original está roto (2012-12-06).
Original question que la respuesta a continuación se refiere a:
Tengo una aplicación basada en formas que está dando ajusta a mí. Me di cuenta de que, en una ubicación donde la propiedad IsAuthenticated era verdadera, ahora era falsa y no funcionaba como se esperaba. Me pregunto si tengo una configuración de que no es válida.
Puede alguien decirme lo que establece la propiedad IsAuthenticated a True - lo CONSTITUYE ingresar
respuesta por Daniel Kent:.
Request.IsAuthenticated
no es sólo para las formas authentciation - es válida no importa qué tipo de autenticación se esté utilizando (Windows, Pasaporte, formularios o nuestro propio esquema personalizado)
HttpRequest.IsAuthenticated
será cierto cuando el uso r haciendo la solicitud ha sido autenticada. Esencialmente, esta propiedad proporciona la misma información como Context.User.Identity.IsAuthenticated
.
Al comienzo de una solicitud, Context.User.Idenity
contiene GenericIdentity
con un nombre de usuario nulo.La propiedad IsAuthenticated
para este objeto será return false
así que Request.IsAuthenticated
será false
. Cuando un módulo de autenticación controla el evento Application_AuthenticateRequest
y exitosamente autentica al usuario al que sustituye el GenericIdentity
en Context.User.Identity
con un nuevo IIdentity
objeto que devolverá true
de su propiedad IsAuthenticated
. Request.IsAuthenticated
devolverá true
.
En el caso de la autenticación de formularios, el módulo de autenticación de formularios usa el ticket de autenticación cifrado contenido en la cookie de autenticación para autenticar al usuario. Una vez que ha hecho esto, reemplaza el GenericIdentity
en Context.User.Identity
con un objeto FormsIdentity
que devuelve True
desde su propiedad IsAuthenticated
.
Por lo tanto, el establecimiento de IsAuthenticated
a true
es en realidad diferente a la tala. Como dice Jeff, iniciar sesión en la autenticación de formularios que ocurre cuando se genera el billete la autenticación y la envía al cliente como una cookie. (RedirectFromLoginPage
o SetAuthCookie
) Lo que estamos hablando con IsAuthenticated
es la autenticación que ocurre con cada solicitud de página. El inicio de sesión ocurre cuando un usuario ingresa sus credenciales y se emite un ticket , la autenticación ocurre con cada solicitud.
aquí hay un enlace a la respuesta en caché de google: https://webcache.googleusercontent.com/search?q=cache:t4JNfp8peQIJ:https://forums.asp.net/t/1416811.aspx%3FQuestion%2Babout%2Bmethods% 2Bto% 2Bdetect% 2Bif% 2Ba% 2Buser% 2Bis% 2Blogged% 2Bin – tylerlindell