当我想ResetPassword
在 vb.net 或 c# 中使用方法时,它无法重置密码并发出一个错误提示:“提供的密码答案错误”。我认为这是由哈希系统和哈希和盐的机器代码引起的。我怎么解决这个问题 ?
问问题
1056 次
2 回答
2
将以下属性添加到您的 Web.Config 文件中的会员配置部分。
requiresQuestionAndAnswer="false"
完整的例子
<configuration>
<connectionStrings>
<add name="SqlServices"
connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial
Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership
defaultProvider="SqlProvider"
userIsOnlineTimeWindow="20">
<providers>
<remove name="AspNetSqlProvider" />
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
于 2011-06-06T06:04:19.863 回答
0
我用错了,也出现了同样的错误,希望对你也有帮助。这是我的代码:
MembershipUser mu = Membership.GetUser(c.Username);
if (mu.PasswordQuestion == c.Question)
{
string pwd = mu.ResetPassword(c.Answer);
mu.ChangePassword(pwd, c.Password);
return RedirectToAction("SignIn");
}
else
{
ViewBag.Message = "Error!";
return View();
}
于 2019-08-01T11:33:26.440 回答