从3.5升级到ASP.net 4.0后登录失败

lom*_*mac 6 membership upgrade .net-4.0

我无法使用.net 4.0版本的应用程序使用任何会员帐户登录.它失败就像密码错误一样,FailedPasswordAttemptCount在my_aspnet_membership表中递增.(我正在使用mysql会员提供商的会员资格.)

我可以创建新用户.它们出现在数据库中.但是我无法使用新的用户凭据登录(是的,IsApproved是1).

一个线索是,对于使用asp.net 4.0版本创建的用户,数据库中的散列密码更长,例如3lwRden4e4Cm + cWVY/spa8oC3XGiKyQ2UWs5fxQ5l7g =,旧的.net 3.5都是+ JQf1EcttK + 3fZiFpbBANKVa92c =.

当使用.net 3.5版本连接到相同的数据库时,我仍然可以登录,但仅限于旧帐户,而不是使用.net 4.0版本创建的新帐户.4.0版本无法登录任何帐户.

我尝试在我的测试系统上删除整个数据库,然后在第一次运行时自动创建成员资格表,但它仍然是相同的,可以创建用户,但无法登录.

lom*_*mac 13

见:这里

.net 4.0的默认哈希算法已更改.默认哈希算法现在是HMACSHA256.早期版本的ASP.NET使用较旧的HMACSHA1算法.

若要将ASP.NET 4 Web应用程序配置为使用较旧的HMACSHA1算法,请将以下设置添加到Web.config文件的system.web部分:

<machineKey validation="SHA1"/>
Run Code Online (Sandbox Code Playgroud)