Ich habe eine Webapp, die Forms Authentication mit ActiveDirectoryMembershipProvider verwendet. Das funktioniert gut... Benutzer können sich erfolgreich anmelden.
Sobald der Benutzer sich angemeldet hat, kann er sein Passwort ändern. Wir verwenden ein ChangePassword-Steuerelement, das die Mitgliedschaftsinformationen abruft und das alte und neue Kennwort verwendet, um das Kennwort des Benutzers zu ändern. DAS funktioniert nicht .
Die ausgelöste Ausnahmemeldung besagt, dass das Kennwort nicht den Kennwortrichtlinien entspricht (nicht die Meldung des Anbieters, sondern das zugrunde liegende COM-Objekt). Dies ist jedoch nicht der Fall, denn wenn man die ActiveDirectory-Konsole aufruft und das Kennwort dort ändert, funktioniert es. Bei der Verwendung der ActiveDirectory-Konsole haben wir ein recht einfaches Kennwort verwendet: "Password01".
Der Benutzer in ActiveDirectory ist auf Kennwortänderung zulassen eingestellt. Alle unsere Benutzer sind in einer bestimmten OU gespeichert und der Verbindungsstring zum AD verweist ebenfalls auf diese OU. Auch hier ist die Verbindung erfolgreich und wir können uns anmelden.
Gibt es noch etwas, das uns daran hindern kann, das Passwort zu ändern?
Informationen zu Ausnahmen
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)