2010-06-29 14 views
5

En mi aplicación asp.net webforms estoy usando autenticación de formularios simple y simple conectada a mi base de datos (con el proveedor de membresía estándar). Todo funciona bien, puedo iniciar sesión, cerrar sesión, obtener roles, etc ...Autenticación de formularios no reconoce como iniciada en IE cuando guión bajo en nombre de host

Sin embargo, después de implementar mi sitio en el servidor IIS de intranet noté que IE no se puede autenticar. El proceso de autentificación real para iniciar sesión funciona (ya que le indica cuándo su contraseña/nombre de usuario es incorrecto) pero después de que se complete la autenticación, alega que no ha iniciado sesión.

Esto es solo en mi entorno IIS implementado como localmente mientras en mi entorno VS todo funciona bien en IE. Mientras que en el IIS desplegado, Chrome y Firefox funcionan bien.

Lo único que puedo decir es que parece que IE no está recibiendo o guardando la cookie de autenticación. Esta no es la configuración de IE relacionada ya que tengo mi IE8 configurado para aceptar todas las cookies, y lo probé en la máquina IE8 de un compañero de trabajo y en la IE7 de otro con los mismos resultados.

Mi web.config está usando la siguiente configuración:

<authentication mode="Forms" > 
    <forms cookieless="UseCookies" /> 
</authentication> 

¿Alguien por lo menos tener una idea de donde me gustaría ver para comenzar la depuración de este tema?

Gracias,


Editar: me he visto obligado a solucionar este problema ahora, desde mi servidor web no está funcionando bien con la autenticación de URL.

He usado el violín y me he dado cuenta de que IIS7 no me está enviando cookies cuando estoy en IE. No hay cookies en los encabezados. Sin embargo, las cookies están correctamente en los encabezados al servir el sitio a los navegadores Mozilla y Chrome. Estoy en una pérdida de por qué .....


Edit2: Como nota al margen, al iniciar sesión en el servidor web directamente, si voy a Http://localhost/ IIS envía IE las galletas finas, pero si voy al http://qa_build/ (ese es el nombre de la computadora para el servidor), IIS no enviará las cookies a IE.

+0

has necesitado un navegador diferente? ¿Cuáles son los resultados? ¿Qué cookies están siendo establecidas por ese dominio? –

Respuesta

12

Finalmente descubrí la respuesta. Resulta que si el dominio tiene un guión bajo, Internet Explorer no almacenará cookies. Cambiar el nombre de la computadora a qabuild lo solucionó.

http://support.microsoft.com/kb/316112

+1

Eso es bastante extraño, cualquiera sabe la explicación de Microsoft Side. –

+0

Me recuerda los problemas que tuve con Audacity al exportar archivos por nombres de etiqueta. Una de las etiquetas se llamaba "con", un nombre de archivo ilegal. – dgw

+0

¡Acabo de pasar 6 horas tirando de mi cabello por este problema! Gracias, gracias, muchas gracias por publicar esto. – DanB

0

¿Hay otro botón de envío en la página en algún lugar que no esté relacionado con el inicio de sesión?

Tuve un problema similar al intentar iniciar sesión una vez, y descubrí que solo sucedió cuando presioné enter en lugar de hacer clic en el botón de inicio de sesión, y fue causado por otro botón que tomaba el botón predeterminado. Se autenticaría, pero no me daría ninguna función de usuario.

+0

No, no es eso. Mi página login.aspx solo tiene un botón y solo tiene un control de inicio de sesión (sin modificaciones en la plantilla o código de control de inicio de sesión) – KallDrexx

Cuestiones relacionadas