У меня есть веб-приложение, которое использует проверку подлинности с помощью ActiveDirectoryMembershipProvider.
Это работает нормально ... пользователи могут успешно войти в систему.
Как только пользователь войдет в систему, он сможет сменить пароль.
Мы используем элемент управления ChangePassword, который извлекает информацию о членстве и использует старый и новый пароль для изменения пароля пользователя. ЭТО не работает .
Исключительное сообщение - это то, что пароль не соответствует политике паролей (не сообщение поставщика, а базовый COM-объект. Но это не тот случай, когда вы переходите на консоль ActiveDirectory и меняете там пароль) делаем работу. При использовании консоли ActiveDirectory мы использовали довольно простой пароль: «Password01».
Пользователь в ActiveDirectory настроен на Разрешить изменение пароля. Все наши пользователи хранятся в определенном подразделении, и строка подключения к AD также указывает на это подразделение. Опять же, соединение успешно, как мы можем войти.
Есть ли что-то, что может помешать нам сменить пароль?
Информация об исключении
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)