使用SqlMembership提供复位后无法使用新密码登录 [英] Cannot login with new password after resetting using SqlMembership Provider
问题描述
重新使用SqlMembership provider.I密码后却无法使用新密码登录。
下面是code用来重置dbo.aspnet_Membership表中的密码就行了。
密码是加密的。
每次我重新设置一个新的加密值存储在表内的密码。
但无法登录。
After resetting the password using SqlMembership provider.I am unable to login with the new password. Below is the line of code used to reset the password for dbo.aspnet_Membership table. Password is encrypted . Everytime I reset the password a new encrypted value is stored inside the table. But unable to login.
我的webconfig设置:
My webconfig setting:
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="xxxx" applicationName="xxxx" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" />
</providers>
</membership>
C#code:
C# code:
Membership user= Membership.GetUser(txtUser.Text);
user.ResetPassword(txtNewPassword.Text);
谁能帮我this.Why我仍然不能用新密码登录?
Can anyone help me with this.Why I can't still login with the new password?
推荐答案
ResetPassword
其实不是你应该使用设置新的用户密码的功能。参见:
ResetPassword
is not actually the function you should be using for setting a new user password. See:
http://msdn.microsoft.com /en-us/library/d94bdzz2(v=vs.110).aspx
ResetPassword
是产生一个新的随机密码(想象一个忘记了密码链接)。您正在使用的构造函数(String)不是为的新的的密码,这是因为如果适用回答机密问题。
ResetPassword
is for generating a new random password (imagine a forgot my password link). The constructor you're using (string) isn't for the new password, it's for answering a secret question if applicable.
您实际上应该采用的方法是的ChangePassword
。参见:
The method you should actually be using is ChangePassword
. See:
<一个href=\"http://msdn.microsoft.com/en-us/library/system.web.security.membershipuser.changepassword(v=vs.110).aspx\" rel=\"nofollow\">http://msdn.microsoft.com/en-us/library/system.web.security.membershipuser.changepassword(v=vs.110).aspx
您会消耗是相似的:
Membership user= Membership.GetUser(txtUser.Text);
user.ChangePassword(oldPasswordString, txtNewPassword.Text);
这篇关于使用SqlMembership提供复位后无法使用新密码登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!