【问题标题】:Validate Old Password Before Change Password在更改密码之前验证旧密码
【发布时间】:2014-07-27 04:07:51
【问题描述】:

我尝试使用ActiveDirectoryMembershipProvider.ChangePassword 更改LDAP 帐户的密码

MembershipUser currentUser = Membership.GetUser(User.Identity.Name, userIsOnline: true);
changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword);

如果我输入了错误的旧密码,ChangePassword 将返回 false。 我的问题是:ChangePassword 方法的错误结果是否意味着我的旧密码错误?如果没有,如何检测我是否输入了错误的密码?

谢谢!

【问题讨论】:

    标签: c# active-directory change-password


    【解决方案1】:

    如果更新成功,MembershipUser.ChangePassword() 方法将返回 true。如果旧密码错误,它不会提供任何信息。

    由于此方法调用底层成员资格提供程序的 ChangePassword() 方法,因此如果成员资格提供程序有限制,例如新密码不匹配的密码大小,它也可能引发异常。

    如果

    抛出 ArgumentException

    如果

    抛出 MembershipPasswordException
    • newPassword 不满足 Active Directory 服务器定义的复杂性要求。

    要检查您的旧密码,您可以使用MembershipProvider.ValidateUser() 方法。

    【讨论】:

    • 是的,我认为validateUser 是检查我的旧密码的唯一方法。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 2014-02-03
    相关资源
    最近更新 更多