使用SqlMembership提供复位后无法使用新密码登录 [英] Cannot login with new password after resetting using SqlMembership Provider

查看:145
本文介绍了使用SqlMembership提供复位后无法使用新密码登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

重新使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆