asp.net-mvc-3 – ASP.NET成员资格 – 本地登录,在Azure上失败

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – ASP.NET成员资格 – 本地登录,在Azure上失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个MVC3网站上工作,而ASP.NET成员资格中我有一个令人困惑的问题。我使用System.Web.Providers 1.0.1连接到sql Azure数据库

现在,在运行在Compute Emulator下时登录的相同用户名/密码在Azure正常运行时失败。我可以看到它正在使用正确的数据库,因为会员数据库中的失败密码尝试计数器正在更新。

解决方法

感谢 this article by David Hoerster中的一些信息,我跟踪了它。问题是Azure上的默认密码散列算法与.NET 4.0默认值不同。它在Azure上设置为SHA1,HMACSHA256是4.0的新标准设置。

这可以通过在web.config中明确指定哈希类型来修复。如果您决定使用像HMACSHA256这样的方法,请确保还指定了机器密钥 – 否则将遇到类似的问题,因为自动生成的机器密钥将因服务器而异。

您需要更改的配置元素是< machinekey>在< system.web>下:

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

您可以使用this machine key generator以正确的格式生成随机密钥。

猜你在找的asp.Net相关文章