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

Mid*_*hat 1 asp.net asp.net-membership

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

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

Eoi*_*ell 5

不幸的是.该ChangePassword方法仅返回一个简单的bool成功/失败.

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

无法更改密码.
这可能是因为:

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

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