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 durch die 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 und MinRequiredNonAlphanumericCharacters den MinRequiredPasswordLength Eigenschaften festgelegt wurden.
Wenn eine falsche Antwort an die ResetPassword Methode angegeben wird, wird der interne Zähler, der ungültige Kennwortantwortversuche nachverfolgt, von einer erhöht. Dies kann dazu führen, dass sich der Benutzer erst anmelden kann, wenn 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 verfolgt, auf Null zurückgesetzt. Weitere Informationen finden Sie in den Ausführungen zur MaxInvalidPasswordAttempts-Eigenschaft und zur PasswordAttemptWindow-Eigenschaft.
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 ActiveDirectoryMembershipProvider Membership.Provider Eigenschaft abrufen.
Der Anbieter verwendet eine Unterstruktursuche ab dem suchpunkt, der in der Verbindungszeichenfolge angegeben ist. Weitere Informationen zu Verbindungszeichenfolgen finden Sie im ActiveDirectoryMembershipProvider Klassenthema.
Um Kennwörter auf einem Active Directory-Server festzulegen, muss das connectionProtection
Attribut auf SignAndSealfestgelegt werden.
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.
Wichtig
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
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.
attributeMapPasswordAnswer``attributeMapFailedPasswordAnswerTime``attributeMapFailedPasswordAnswerCount
DieattributeMapPasswordQuestion
Attribute , undattributeMapFailedPasswordAnswerLockedTime
die Attribute müssen in der Anwendungskonfigurationsdatei festgelegt werden.Die RequiresQuestionAndAnswer-Eigenschaft muss auf
true
festgelegt 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 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 für Domänencontroller erfüllen, die Windows Server 2003 SP1 ausführen. Wenn das Kennwort aufgrund von Sicherheitsrichtlinien auf dem Active Directory-Server nicht zurückgesetzt werden kann, wird ein ProviderException Fehler ausgelöst.