Freigeben über


ActiveDirectoryMembershipProvider.ResetPassword(String, String) Methode

Definition

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 null.

- oder -

username ist null.

passwordAnswer ist nach dem Verkürzen leer.

- oder -

passwordAnswer ist länger als 128 Zeichen.

- oder -

username ist leer oder übersteigt die maximale für Benutzernamen zulässige Länge (i. d. R. 256 Zeichen).

- oder -

username enthält Kommas.

- oder -

Der Benutzername wird userPrincipalName zugeordnet, der username-Parameter enthält jedoch umgekehrte Schrägstriche.

Der Benutzer wird aufgrund von zu vielen fehlgeschlagenen Anmeldeversuchen oder zu vielen Versuchen zum Zurücksetzen der Kennwortantwort gesperrt.

- oder -

passwordAnswer stimmt nicht mit der gespeicherten Kennwortantwort überein.

Der in username angegebene Benutzer ist im Active Directory-Datenspeicher nicht vorhanden.

- oder -

Ein generiertes Kennwort übergibt keinen benutzerdefinierten Validierungshandler.

- oder -

Das generierte Kennwort ist nicht komplex genug, um benutzerdefinierten Kennwortrichtlinien zu entsprechen, die auf dem Active Directory-Server festgelegt wurden.

- oder -

Es kann keine sichere Verbindung mit einem Active Directory Application Mode-Server hergestellt werden, um ein neues Kennwort festzulegen.

Unbehandelte Ausnahme.

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 zufällige Kennwort, das von der ResetPassword -Methode erstellt wird, wird nicht garantiert, dass der reguläre Ausdruck in der PasswordStrengthRegularExpression -Eigenschaft übergeben wird. Das zufällige Kennwort erfüllt jedoch die Kriterien, die durch die MinRequiredPasswordLength Eigenschaften und MinRequiredNonAlphanumericCharacters festgelegt werden.

Wenn eine falsche Antwort für die ResetPassword -Methode angegeben wird, wird der interne Zähler, der ungültige Kennwort-Antwort-Versuche nachverfolgt, um eins 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 derzeit nicht gesperrt ist, wird der interne Zähler, der ungültige Kennwortversuche nachverfolgt, auf 0 zurückgesetzt. Weitere Informationen finden Sie in den Ausführungen zur MaxInvalidPasswordAttempts-Eigenschaft und zur PasswordAttemptWindow-Eigenschaft.

Führende und nachfolgende Leerzeichen werden auf alle Parameterwerte gekürzt.

Sie können die ResetPassword -Methode direkt aufrufen, indem Sie zuerst einen Verweis auf die ActiveDirectoryMembershipProvider -Instanz aus der Membership.Provider -Eigenschaft abrufen.

Der Anbieter verwendet eine Unterstruktursuche ab dem in der Verbindungszeichenfolge angegebenen Suchpunkt. Weitere Informationen zu Verbindungszeichenfolgen finden Sie im ActiveDirectoryMembershipProvider Klassenthema.

Zum Festlegen von Kennwörtern auf einem Active Directory-Server muss das connectionProtection Attribut auf SignAndSealfestgelegt werden.

Bei Verwendung eines ADAM-Servers kann das connectionProtection Attribut auf Nonefestgelegt werden, aber nur, wenn Sie den ADAM-Server explizit so konfigurieren, dass Kennwortänderungen über ungesicherte Verbindungen zugelassen werden.

Wichtig

Sie können Kennwörter nur zurücksetzen, wenn die Anmeldeinformationen, die zum Herstellen einer Verbindung mit dem Active Directory-Server verwendet werden, entweder über Domänenadministratorrechte (nicht empfohlen) oder über das Zugriffsrecht "Kennwort zurücksetzen" verfügen.

Zum Zurücksetzen eines Kennworts müssen alle folgenden Bedingungen erfüllt sein:

  • Die EnablePasswordReset-Eigenschaft muss auf true festgelegt 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, attributeMapFailedPasswordAnswerCount, attributeMapFailedPasswordAnswerTimeund attributeMapFailedPasswordAnswerLockedTime müssen in der Anwendungskonfigurationsdatei festgelegt werden.

  • Die RequiresQuestionAndAnswer-Eigenschaft muss auf true festgelegt werden.

  • Der Sicherheitskontext zum Herstellen einer 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 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".

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 ausgelöst.

Gilt für:

Weitere Informationen