gpt4 book ai didi

c# - 当安全答案正确时,ASP.NET ResetPassword 抛出 MembershipPasswordException

转载 作者:行者123 更新时间:2023-11-29 14:35:54 28 4
gpt4 key购买 nike

我正在尝试实现一个问答密码重置页面,但是这一行:

string tempPassword = 
Membership.Provider.ResetPassword(username, TextBoxSecurityAnswer.Text);

即使传入的安全答案是用户名的正确答案,也会引发 MembershipPasswordException。基本异常是 System.Exception,它只是显示值为 -532459699 的 COMPlusExceptionCode。

我正在使用 MySql 及其 .NET Connector v6.2.5(这是我可以使用的最新版本,因为我的项目是 .NET v3.5)。我的成员(member)资格提供商的 web.config 设置如下所示:

    <membership defaultProvider="MySQLMembershipProvider" hashAlgorithmType="SHA1">
<providers>
<clear/>
<add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=5.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
connectionStringName="Membership"
applicationName="/"
passwordFormat="hashed"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0"
requiresQuestionAndAnswer="true" />
</providers>
</membership>

有人知道发生了什么事吗?

最佳答案

好吧,我明白了。哇,我觉得自己很愚蠢吗?但也许其他人也会做同样的蠢事。

我直接在相关帐户的数据库中更改了安全答案的数据,当我这样做时,安全答案不再在数据库中进行哈希处理。我想象成员(member)资格提供者试图获取数据库中的内容,假设它已被散列,并且它提出的任何内容与提供的答案不匹配,因此它引发了异常。说得通。

关于c# - 当安全答案正确时,ASP.NET ResetPassword 抛出 MembershipPasswordException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9059740/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com