2012-08-10 20 views
9

Estoy usando Facebook C# SDK y autentico al usuario por su cuenta de Facebook. Una vez que realicé todos los controles para "autenticarlos", llamé al FormsAuthentication.SetAuthCookie(email, false);¿Qué establece User.Identity.IsAuthenticated en una aplicación ASP.NET MVC?

¿Realizar esa llamada me permite tener acceso a User.Identity.IsAuthenticated dentro de mis acciones? ¿Qué pasa si no hice esa llamada?

Tengo algunas acciones que devolverán diferentes vistas en función de su estado de autenticación, y quiero asegurarme de que User.Identity.IsAuthenticated sea confiable en una aplicación MVC 4.

Respuesta

15

Es el FormsAuthentication HTTP module que está registrado y se ejecuta en cada solicitud. Este módulo se registra automáticamente cuando especifica mode="Forms" en la etiqueta <authentication> de su web.config. Es este mismo módulo el que intercepta todas las respuestas 401 y redirige automáticamente al usuario a la página LogOn (que a veces no es un comportamiento deseado ya que el resultado final es el código de estado HTTP de 200).

Así que para responder a sus preguntas:

¿Tiene realizar esa llamada me permite tener acceso a User.Identity.IsAuthenticated dentro de mis acciones? ¿Qué pasa si yo no hice esa llamada?

No exactamente. Esta llamada solo emite la cookie de autenticación de formularios a la respuesta. Es el módulo HTTP el que se encarga de interceptar la solicitud y si esta solicitud contiene la cookie establecerá el User.Identity.

+0

Gracias, gran respuesta. Digamos que el visitante es nuevo en el sitio, no hay cookies de autenticación. ¿'User.Identity.IsAuthenticated' será falso o nulo? Entonces, siempre que el módulo FormsAuth HTTP pueda leer/validar la cookie FormsAuth, 'User.Identity.IsAuthenticated' será verdadero. – Chaddeus

+5

User.Identity nunca es nulo. Pero User.Identity.IsAuthenticated será falso. –

+0

Perfecto, ¡gracias! No solo respondiste a mi pregunta, sino que ahora entiendo más completamente la realidad, la aprecio mucho. – Chaddeus

Cuestiones relacionadas