ActiveDirectoryMembershipProvider.ResetPassword(String, String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Setzt das Kennwort eines Benutzers auf ein neues, automatisch generiertes Kennwort zurück.
public:
override System::String ^ ResetPassword(System::String ^ username, System::String ^ passwordAnswer);
public override string ResetPassword(string username, string passwordAnswer);
override this.ResetPassword : string * string -> string
Public Overrides Function ResetPassword (username As String, passwordAnswer As String) As String
Parameter
- username
- String
Der Benutzer, für den das Kennwort zurückgesetzt werden soll.
- passwordAnswer
- String
Die Kennwortantwort für den angegebenen Benutzer.
Gibt zurück
Das neue Kennwort für den angegebenen Benutzer.
Ausnahmen
Die ResetPassword(String, String) Methode wird aufgerufen, bevor die ActiveDirectoryMembershipProvider Instanz initialisiert wird.
Der EnablePasswordReset Eigenschaftswert ist false.
passwordAnswer ist nach dem Kürzen leer
- oder -
passwordAnswer überschreitet 128 Zeichen.
- oder -
username ist leer oder überschreitet die maximal zulässige Länge für Benutzernamen (in der Regel 256 Zeichen).
- oder -
username enthält Kommas.
- oder -
Der Benutzername ist zugeordnet userPrincipalName , der username Parameter enthält jedoch umgekehrte Schrägstriche.
Der Benutzer ist aufgrund zu vieler ungültiger Anmeldeversuche oder zu viele Versuche zur Kennwortantwortzurücksetzung gesperrt.
- oder -
passwordAnswer stimmt nicht mit der Antwort auf das gespeicherte Kennwort überein.
Der angegebene username Benutzer ist im Active Directory-Datenspeicher nicht vorhanden.
- oder -
Ein generiertes Kennwort übergibt keinen benutzerdefinierten Überprüfungshandler.
- oder -
Das generierte Kennwort ist nicht komplex genug, um benutzerdefinierte Kennwortrichtlinien zu erfüllen, die auf dem Active Directory-Server festgelegt sind.
- oder -
Eine sichere Verbindung mit einem Active Directory-Anwendungsmodusserver kann nicht hergestellt werden, um das neue Kennwort festzulegen.
Es ist eine unbehandelte Ausnahme aufgetreten.
Hinweise
Die Methode wird von der Membership Klasse aufgerufen, um das Kennwort für einen Benutzer im Active Directory-Datenspeicher auf einen neuen zufällig generierten Wert zurückzusetzen. Das neue Kennwort wird zurückgegeben.
Hinweis
Das von der ResetPassword Methode erstellte zufällige Kennwort ist nicht garantiert, den regulären Ausdruck in der PasswordStrengthRegularExpression Eigenschaft zu übergeben. Das zufällige Kennwort erfüllt jedoch die kriterien, die von den MinRequiredPasswordLength Eigenschaften MinRequiredNonAlphanumericCharacters festgelegt wurden.
Wenn der Methode eine falsche Antwort bereitgestellt ResetPassword wird, wird der interne Zähler, der ungültige Kennwortantwortversuche verfolgt, um einen erhöht. Dies kann dazu führen, dass sich der Benutzer nicht anmelden kann, bis der Sperrstatus durch einen Aufruf der UnlockUser Methode gelöscht wird. Wenn die richtige Kennwortantwort angegeben wird und der Benutzer zurzeit nicht gesperrt ist, wird der interne Zähler, der ungültige Kennwortversuche nachverfolgt, auf Null zurückgesetzt. Weitere Informationen finden Sie unter den MaxInvalidPasswordAttempts Und PasswordAttemptWindow Eigenschaften.
Führende und nachfolgende Leerzeichen werden von allen Parameterwerten gekürzt.
Sie können die ResetPassword Methode direkt aufrufen, indem Sie zuerst einen Verweis auf die Instanz aus der ActiveDirectoryMembershipProviderMembership.Provider Eigenschaft abrufen.
Der Anbieter verwendet eine Unterstruktursuche, die an dem in der Verbindungszeichenfolge angegebenen Suchpunkt beginnt. Weitere Informationen zu Verbindungszeichenfolgen finden Sie im ActiveDirectoryMembershipProvider Klassenthema.
Um Kennwörter auf einem Active Directory-Server festzulegen, muss das connectionProtection Attribut auf .SignAndSeal
Wenn Sie einen ADAM-Server verwenden, kann das connectionProtection Attribut auf festgelegt Nonewerden, aber nur, wenn Sie den ADAM-Server explizit so konfigurieren, dass Kennwortänderungen über unsichere Verbindungen zulässig sind.
Von Bedeutung
Sie können Keine Kennwörter zurücksetzen, es sei denn, die Anmeldeinformationen, die zum Herstellen einer Verbindung mit dem Active Directory-Server verwendet werden, verfügen entweder über Domänenadministratorrechte (nicht empfohlen) oder über das Zugriffsrecht "Kennwort zurücksetzen".
Um ein Kennwort zurückzusetzen, müssen alle folgenden Bedingungen erfüllt sein:
Die EnablePasswordReset-Eigenschaft muss auf
truefestgelegt werden.Das Active Directory-Schema muss geändert werden, um Attribute zum Speichern der Kennwortfrage und -antwort sowie die drei Nachverfolgungsfelder für Kennwortantwortänderungen zu enthalten.
Die
attributeMapPasswordQuestionAttribute ,attributeMapPasswordAnswer, ,attributeMapFailedPasswordAnswerCountundattributeMapFailedPasswordAnswerLockedTimeattributeMapFailedPasswordAnswerTimedie Attribute müssen in der Anwendungskonfigurationsdatei festgelegt werden.Die RequiresQuestionAndAnswer-Eigenschaft muss auf
truefestgelegt werden.Der Sicherheitskontext für die Verbindung mit dem Active Directory-Datenspeicher (entweder das Prozesskonto oder die expliziten Anmeldeinformationen) muss über ausreichende Berechtigungen zum Ändern von Kennwörtern verfügen. Die Zum Herstellen einer Verbindung mit dem Active Directory-Server verwendeten Anmeldeinformationen verfügen entweder über Domänenadministratorrechte (nicht empfohlen) oder über das Zugriffsrecht "Kennwort zurücksetzen".
Hinweis
Sicherheitsrichtlinien, die auf dem Active Directory-Server festgelegt sind, machen es möglicherweise unmöglich, dass die ResetPassword Methode ein Kennwort generiert, das den Richtlinien entspricht. Die Standardimplementierung der GeneratePassword Methode generiert Kennwörter, die die Standardkennwortrichtlinien auf Domänencontrollern unter Windows Server 2003 SP1 erfüllen. Wenn das Kennwort aufgrund von Sicherheitsrichtlinien auf dem Active Directory-Server nicht zurückgesetzt werden kann, wird ein ProviderException Fehler ausgelöst.