La autenticación de formularios MVC 3 no funciona en Internet Explorer sigue redirigiendo a la página de inicio de sesión

He implementado algunos formularios de autenticación encantadores en ASP.NET MVC 3, esto ha funcionado fantástico en Chrome. Ahora es la prueba de tiempo en el peor navegador del mundo, Internet Explorer. Simplemente fui a Iniciar sesión, y la página vuelve a la página de inicio de sesión cada vez que hago clic en el botón Enviar. Las credenciales son correctas. Revisé el código, estoy usando RedirectToAction a una página y no se marcan errores, simplemente regresa directamente a la página de inicio de sesión.

Debo señalar que he intentado lo siguiente:

  • Se eliminaron dependencias y dlls de webmatrix
  • Eliminado System.Web.Helpersn
  • Ambos se han eliminado del contenedor, las referencias y la carpeta bin_deploayableAssemblies en VS2010

También he agregado lo siguiente a la configuración de la aplicación web.config:

<add key="enableSimpleMembership" value="false" />
<add key="autoFormsAuthentication" value="false" />
<add key="loginUrl" value="~/LoginReg/LogOn"/>

Aquí está mi web.config completo:

http://pastebin.com/t6cj6cSb

Debo señalar que mi página de inicio de sesión está en una carpeta llamada: Registro de inicio de sesión, por lo que la URL sería /LoginReg/LogOn.

Esto funciona perfectamente en Chrome, pero por alguna razón no funciona en Internet Explorer.

¿Alguien tiene alguna idea de cómo solucionar este problema realmente molesto o tiene algún artículo útil?

Muchas Gracias

preguntado el 27 de julio de 12 a las 17:07

¿Tiene las cookies habilitadas en IE? -

Acabo de mirar en mi configuración y adivina qué ... "¡Bloquear todas las cookies"!!!!!!!!! ¡Es viernes y los desarrolladores no deberían trabajar después de las 4! ¡Gracias! La mejor respuesta es siempre la más simple, ¡ponga su comentario como respuesta para que pueda recibir una marca! :) -

Sé que hay una tendencia a querer culpar a IE por cada problema que descubres con él, pero en realidad, el 95% de las veces no es culpa de IE, como descubriste en este caso. IE tiene sus problemas con seguridad, pero eso es en gran parte en el pasado, siempre que no necesite admitir IE6 (y con menos del 2% de la población, principalmente en China, todavía usándolo, hay muy pocas razones para hacerlo). soporte IE6 más) -

3 Respuestas

La autenticación de formularios crea una cookie http para mantener el estado de autenticación entre solicitudes. Asegúrate de tener las cookies habilitadas en IE.

Respondido 28 Jul 12, 18:07

Encontré una solución extraña a este problema. En mi caso, tengo una solución MVC3 y, por supuesto, mi problema era el mismo que en la publicación original. Lo que hice es muy extraño:

  1. Cambié el nombre de los métodos LogOn get/post a LoginPageView
  2. Por supuesto, creé la VISTA correspondiente a la LoginPageView Acción del controlador

    [HttpGet]
    public ActionResult LoginPageView()
    {
        return View();
    }
    
  3. Corrí y pude redirigir a cualquier otra acción del controlador en la solución, por supuesto cuidando el [Authorize] o no autorice el atributo en mis métodos que necesito.

  4. Problema resuelto.

Respondido 23 Oct 15, 22:10

Aquí está la solución que resolvió mi problema al agregar un filtro global al archivo FilterConfig.cs.

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
       filters.Add(new AuthorizeAttribute());
    }
}

Ahora el inicio de sesión funciona perfectamente con Internet Explorer y el navegador Microsoft Edge.

Respondido 05 Abr '16, 11:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.