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 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
attributeMapPasswordQuestion
Attribute ,attributeMapPasswordAnswer
,attributeMapFailedPasswordAnswerCount
,attributeMapFailedPasswordAnswerTime
undattributeMapFailedPasswordAnswerLockedTime
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.