MembershipUser.ChangePassword 失败且没有警告

发布于 2024-07-20 15:27:23 字数 172 浏览 3 评论 0原文

如果我调用 user.ChangePassword(oldpass,newpass) ,并且旧密码错误,或者新密码不符合提供者的复杂性要求,则该方法将失败且不会发出警告。 有什么方法可以找出是否存在错误以及错误是什么。

我总是可以将这些检查放入我的代码中,但应该有一种方法可以使用会员 API 来完成此操作

If I call user.ChangePassword(oldpass,newpass), and the old password is wrong, or the new password does not meet the provider's complexity requirement , the method fails without warning. is there any way i can find out if there is an error and what the error was.

I can always put these checks in my code, but there should be a way to do it using the Membership APIs

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

メ斷腸人バ 2024-07-27 15:27:23

不幸的是没有。 ChangePassword 方法仅返回一个简单的布尔值来表示成功/失败。

失败时的最佳选择是向用户显示一条通用消息,说明所有可能的失败原因...例如

无法更改密码。
发生这种情况的原因可能是:

  • 旧密码不正确
  • 新密码未能满足所需的复杂性
  • 新密码的长度必须为 8 个字符,并且至少包含 2 个数字字符。 (或其他)

如果您想提供更具体的信息,那么正如您所说,您需要在自己的代码中实现规则检查器,并根据该检查将信息转发给用户。

Unfortunately not. The ChangePassword method only returns a simple bool for success/fail.

Your best option on fail would be to display a generic message to the user stating all possible failure reasons... e.g.

Failed to Change Password.
This may have occured because:

  • The Old Password was incorrect
  • The New Password failed to meet the required complexibility
  • New Passwords must be 8 chars long and contain at least 2 numeric characters. (or whatever)

If you want to give more specific information, then as you said, you would need to implement a rules checker in your own code and relay information to the user based on that check.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文