我有一个Webapp,该Webapp使用ActiveDirectoryMembershipProvider进行表单身份验证。
效果很好...用户可以成功登录。

用户登录后,便可以更改密码。
我们使用ChangePassword控件来检索成员资格信息,并使用旧密码和新密码来更改用户的密码。那是行不通的。

抛出的异常消息是密码不适合密码策略(不是提供程序的消息,而是底层的COM对象。但这不是这种情况,因为转到ActiveDirectory控制台并更改密码即可。使用ActiveDirectory控制台时,我们使用了一个非常简单的密码:“ Password01”。

ActiveDirectory中的用户设置为“允许更改密码”。我们所有的用户都存储在某个OU中,与AD的连接字符串也指向该OU。同样,连接成功,就像我们可以登录一样。

还有什么其他事情可以阻止我们更改密码?

异常信息

    System.Web.Security.MembershipPasswordException: The password supplied is invalid.
Passwords must conform to the password strength requirements configured for the default provider.
---> System.Runtime.InteropServices.COMException (0x800708C5): The password does not meet the password policy requirements. Check the minimum password length, password complexity and password history requirements. (Exception from HRESULT: 0x800708C5)
       --- End of inner exception stack trace ---
       at System.Web.Security.ActiveDirectoryMembershipProvider.ChangePassword(String username, String oldPassword, String newPassword)
       at System.Web.Security.MembershipUser.ChangePassword(String oldPassword, String newPassword)

最佳答案

好,不便之处,敬请原谅...

问题是Active Directory管理员已设置您可以等待一天才能更改密码。

因此,如果我们创建一个用户... USER必须等待1天才能更改其密码。
管理员可以重设密码而不受此限制。

感谢您的意见。

10-04 12:13