MembershipUser.ChangePassword在没有警告的情况下失败

时间:2009-05-21 10:26:38

标签: asp.net asp.net-membership

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

我总是可以将这些检查放在我的代码中,但是应该有一种方法可以使用Membership API来实现它

1 个答案:

答案 0 :(得分:5)

不幸的是没有。 ChangePassword方法仅返回成功/失败的简单bool。

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

无法更改密码。
这可能发生了因为:

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

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