2017-07-13 1 views
0

ich eine Passwort-Reset-Seite, die ich für meine Mitarbeiter und für das UserPrincipal Objekt erstellt, führe ich folgendes:UserPrincipal.ChangePassword Werfen PasswordException

UserPrincipal user = Helpers.LDAPHelper.GetUserPrincipal(model.EmailAddress); 

string temporary = Membership.GeneratePassword(12, 4); 

user.SetPassword(temporary); 
user.ChangePassword(temporary, model.ConfirmPassword); 

Der user.SetPassword Aufruf funktioniert gut, aber nicht ausgelöst, dass die Das Passwort hat sich geändert, daher funktioniert jedes Passwort-Alter-Tracking, das ich mache (um die Benutzer daran zu erinnern, ihr Passwort vor Ablauf des Passworts zurückzusetzen), nicht. Also, ich wollte, da die ChangePassword Methode das aktuelle Passwort erfordert, ich ein temporäres Passwort festlegen und dann das als das aktuelle verwenden. ABER, wirft es ein PasswordException jedes Mal: ​​„Das Passwort das Passwort nicht Richtlinienanforderungen entspricht prüfen die minimale Kennwortlänge, Kennwortkomplexität und Passworthistorie Anforderungen (Ausnahme von HRESULT: 0x800708C5).“

Kann mir jemand sagen, was ich falsch mache?

Oh, ich habe vergessen, die Gruppenrichtlinieneinstellungen enthalten: enter image description here

Antwort

1

Es sollte das neue Passwort sein, das die Ausnahme wirft, ist der neue ein String? Könnte es auch eine andere Passwortrichtlinie als eine Standardrichtlinie geben?

+0

Das neue Passwort ist mindestens 6 Zeichen lang. Das ist die einzige Voraussetzung für das neue Passwort. Die einzige angewendete Richtlinie ist eine Gruppenrichtlinie. Ich habe mir die anderen Richtlinien angeschaut und keine dieser Einstellungen definiert. – Keith

+0

Die einzige andere Sache, die ich denke zu überprüfen, ist die lokalen Richtlinien auf dem Server (nicht gpedit) –

+0

Ich bin mir noch nicht sicher, aber überprüfen, was dieser Beitrag erwähnt: https://superuser.com/questions/1072610/enforced -group-policy-object-not-applying-on-windows-10 – Keith