visual tutorial studio que net migrations first existing enable code asp asp.net-mvc-3 azure asp.net-membership membership-provider azure-sql-database

asp.net-mvc-3 - tutorial - membership asp net visual studio 2017



Membresía ASP.NET: el inicio de sesión funciona localmente, falla en Azure (1)

Estoy trabajando en un sitio MVC3, y tengo un problema desconcertante con la membresía ASP.NET. Estoy usando System.Web.Providers 1.0.1 conectado a una base de datos SQL Azure.

Tal como está ahora, el mismo nombre de usuario / contraseña que me registra cuando se ejecuta en Compute Emulator falla cuando se ejecuta en Azure propiamente dicho. Puedo ver que está usando la base de datos correcta, ya que el contador de intentos de contraseña fallida en la base de datos de miembros se está actualizando.


Lo localicé, gracias a alguna información en este artículo de David Hoerster . El problema es que el algoritmo de hashing de contraseña predeterminado en Azure es diferente de los valores predeterminados de .NET 4.0. Se establece en SHA1 en Azure, y HMACSHA256 es la nueva configuración estándar en 4.0.

Esto se puede solucionar especificando el tipo de hash explícitamente en web.config. Si decide utilizar un método como HMACSHA256, asegúrese de especificar también una clave de máquina; de lo contrario, tendrá problemas similares, ya que la clave de máquina generada automáticamente diferirá de un servidor a otro.

El elemento de configuración que necesita cambiar es <machinekey> en <system.web> :

<machineKey decryptionKey="PUT_DECRYPTION_KEY_HERE" validationKey="PUT_VALIDATION_KEY_HERE" decryption="AES" validation="HMACSHA256" />

Puede utilizar este generador de claves de máquina para generar claves aleatorias en el formato adecuado.