2010-04-29 11 views
6

No puedo iniciar sesión utilizando ninguna de las cuentas de membresía que utilizan la versión .net 4.0 de la aplicación. Falla como una contraseña incorrecta, y FailedPasswordAttemptCount se incrementa en la tabla my_aspnet_membership. (estoy usando membresía con el proveedor de membresía de mysql.)El inicio de sesión falla después de la actualización a ASP.net 4.0 desde 3.5

Puedo crear nuevos usuarios. Aparecen en la base de datos. Pero no puedo iniciar sesión con las nuevas credenciales de usuario (sí, IsApproved es 1).

Una pista es que las contraseñas de trazos en la base de datos es más largo para los usuarios creados con la versión 4.0 asp.net, por ejemplo 3lwRden4e4Cm + cWVY/spa8oC3XGiKyQ2UWs5fxQ5l7g =, y los viejos .NET 3.5 queridos son todas como + + JQf1EcttK 3fZiFpbBANKVa92c =.

Aún puedo iniciar sesión cuando me conecto a la misma base de datos con la versión .net 3.5, pero solo a las cuentas antiguas, no a las nuevas creadas con la versión .net 4.0. La versión 4.0 no puede iniciar sesión en ninguna cuenta.

Intenté dejar caer toda la base de datos en mi sistema de prueba, las tablas de miembros son entonces ha creado automáticamente en la primera ejecución, pero sigue siendo el mismo, puede crear usuarios, pero no puede conectarse.

Respuesta

13

Ver: HERE

El algoritmo de cálculo predeterminado ha cambiado para .NET 4.0. El algoritmo hash predeterminado ahora es HMACSHA256. Las versiones anteriores de ASP.NET usaban el antiguo algoritmo HMACSHA1.

Para configurar una aplicación Web ASP.NET 4 a utilizar el algoritmo HMACSHA1 mayores, agregue el valor siguiente a la sección system.web del archivo Web.config:

<machineKey validation="SHA1"/> 
+0

Usted, señor salvó el día para mí . +1 –

2

estoy teniendo exactamente el mismo problema Tengo mi aplicación web en 3.5 y 4.0 y solo las cuentas "antiguas" funcionan en la instancia 3.5.

¡Espero que alguien tenga una respuesta!

ACTUALIZACIÓN:

me cambió el passwordFormat borrar y yo era capaz de crear un nuevo usuario y conectarse con la aplicación 4.0. Parece que algo ha cambiado con la forma en que se contrabandean las contraseñas.

ACTUALIZACIÓN 2:

que era capaz de hacer uno de la "vieja" representa el trabajo. Con el cambio anterior al formato de contraseña, cambié la columna PasswordFormat en my_aspnet_membership a 0 y establecí la contraseña manualmente en la misma tabla. Si bien esto es intrincado y complicado, permite que la cuenta lo obtenga. Voy a tratar de ejecutar el restablecimiento de contraseña y ver si eso soluciona las cuentas rotas.

Cuestiones relacionadas