使用SqlMembership Provider重设后无法用新密码登录

 2023-02-16    328  

问题描述

使用sqlmembership提供程序重置密码后.我无法使用新密码登录.
以下是用于重置DBO.aspNet_Membership表的密码的代码行.
密码已加密.
每次重置密码时,都会将新的加密值存储在表中.
但无法登录.

我的webconfig设置:

使用SqlMembership Provider重设后无法用新密码登录

<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#代码:

Membership user= Membership.GetUser(txtUser.Text);
user.ResetPassword(txtNewPassword.Text);

任何人都可以帮助我这一点.为什么我仍无法使用新密码登录?

推荐答案

ResetPassword实际上不是您应该使用的功能,以便设置新的用户密码.见:

ResetPassword用于生成新的随机密码(想象忘记密码链接).您使用的构造函数(字符串)不适用于 new 密码,如果适用,它是为了回答秘密问题.

您实际使用的方法是ChangePassword.见:

您可以使用类似于:

Membership user= Membership.GetUser(txtUser.Text);
user.ChangePassword(oldPasswordString, txtNewPassword.Text);

以上所述是小编给大家介绍的使用SqlMembership Provider重设后无法用新密码登录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34049.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。