Freigeben über


ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Methode

Definition

Aktualisiert die Kennwortfrage und -antwort für einen Benutzer im Active Directory-Speicher.

public:
 override bool ChangePasswordQuestionAndAnswer(System::String ^ username, System::String ^ password, System::String ^ newPasswordQuestion, System::String ^ newPasswordAnswer);
public override bool ChangePasswordQuestionAndAnswer (string username, string password, string newPasswordQuestion, string newPasswordAnswer);
override this.ChangePasswordQuestionAndAnswer : string * string * string * string -> bool
Public Overrides Function ChangePasswordQuestionAndAnswer (username As String, password As String, newPasswordQuestion As String, newPasswordAnswer As String) As Boolean

Parameter

username
String

Der Benutzer, für den Kennwortfrage und -antwort geändert werden sollen.

password
String

Das Kennwort für den angegebenen Benutzer.

newPasswordQuestion
String

Die neue Kennwortfrage für den angegebenen Benutzer.

newPasswordAnswer
String

Die neue Kennwortantwort für den angegebenen Benutzer.

Gibt zurück

true, wenn die Aktualisierung erfolgreich war, andernfalls false. Der Wert false wird außerdem zurückgegeben, wenn das Kennwort falsch ist, der Benutzer gesperrt wurde oder im Active Directory-Datenspeicher nicht vorhanden ist.

Ausnahmen

Eine Zuordnung der Felder für Kennwortfrage und -antwort zu Attributen des Active Directory-Schemas durch den Administrator ist nicht erfolgt.

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

- oder -

username enthält Kommas.

- oder -

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

- oder -

password ist eine Zeichenfolge der Länge 0 (null).

- oder -

password übersteigt die maximale Kennwortlänge (i. d. R. 128 Zeichen).

- oder -

newPasswordQuestion ist leer, und der RequiresQuestionAndAnswer-Eigenschaftswert ist true.

- oder -

newPasswordQuestion überschreitet 256 Zeichen.

- oder -

newPasswordAnswer ist länger als 128 Zeichen, nachdem die Antwort verschlüsselt wurde.

username ist null.

- oder -

password ist null.

- oder -

newPasswordQuestion ist null, und die RequiresQuestionAndAnswer-Eigenschaft ist true.

- oder -

newPasswordAnswer ist null, und die RequiresQuestionAndAnswer-Eigenschaft ist true.

Das machineKey-Element (ASP.NET Einstellungsschema)-Konfigurationselement gibt einen automatisch generierten Computerverschlüsselungsschlüssel an. Sie müssen das decryptionKey-Attribut des machineKey-Element (ASP.NET Einstellungsschema)-Elements explizit festlegen, um Kennwortantworten mit dem ActiveDirectoryMembershipProvider zu speichern.

Hinweise

Die -Methode wird von der ActiveDirectoryMembershipUser -Klasse aufgerufen, um die Kennwortfrage und -antwort für einen Benutzer im Active Directory-Mitgliedschaftsspeicher zu aktualisieren.

Die Anforderung einer Kennwortfrage und -antwort bietet eine zusätzliche Sicherheitsebene beim Zurücksetzen des Kennworts eines Benutzers. Beim Erstellen eines Benutzernamens kann ein Benutzer eine Frage und Antwort angeben, die später zum Zurücksetzen eines vergessenen Kennworts verwendet werden kann. Die ChangePasswordQuestionAndAnswer -Methode aktualisiert die Kennwortfrage und -antwort für einen Mitgliedschaftsbenutzer auf neue Werte.

Um die ChangePasswordQuestionAndAnswer -Methode verwenden zu können, müssen Sie diese zusätzlichen Attribute in der Konfigurationsdatei Ihrer Anwendung festlegen:

  • requiresQuestionAndAnswer muss den Wert true haben.

  • attributeMapPasswordQuestion und attributeMapPasswordAnswer müssen Attributen im Active Directory-Schema zugeordnet werden.

Wenn die oben genannten Kriterien nicht erfüllt sind, wird bei der Initialisierung ein ProviderException ausgelöst.

Die ActiveDirectoryMembershipProvider Instanz stellt eine Verbindung mit dem Active Directory-Datenspeicher mit den Anmeldeinformationen in den username Parametern und password her, um die Kombination aus Benutzername und Kennwort zu überprüfen. Die eigentliche Aktualisierung der Frage und Antwort erfolgt mit den konfigurierten Anmeldeinformationen für die Verbindung des Anbieters.

Wenn für die ChangePasswordQuestionAndAnswer -Methode ein falsches Kennwort angegeben wird, erhöht der Verzeichnisserver die Leistungsindikatoren, die ungültige Kennwortversuche nachverfolgen. Dies kann dazu führen, dass der Benutzer gesperrt wird und sich nicht anmelden kann, bis entweder der Sperrstatus durch einen Aufruf der UnlockUser -Methode gelöscht wird oder die im Verzeichnis angegebene Sperrdauer überschritten wird.

Wenn die Aktualisierung der Frage und Antwort erfolgreich ist trueund die EnablePasswordReset -Eigenschaft lautet, werden die Nachverfolgungsindikatoren für ungültige Kennwortantworten des Benutzers zurückgesetzt.

Die Kennwortantwort wird mit der EncryptPassword -Methode verschlüsselt, bevor sie im Active Directory-Datenspeicher gespeichert wird. Der Verschlüsselungsschlüssel und der Algorithmus werden vom Konfigurationselement machineKey-Element (ASP.NET Settings Schema) angegeben. Das Entschlüsselungsattribut für das machineKey-Element (ASP.NET Settings Schema) muss angegeben werden, die ActiveDirectoryMembershipProvider Klasse unterstützt keine automatisch generierten Verschlüsselungsschlüssel.

Die maximale Länge für die Kennwortfrage beträgt 256 Zeichen. Die maximale Länge für die Kennwortantwort beträgt 128 Zeichen.

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

Der Anbieter sucht die zu aktualisierende Benutzerinstanz, indem er eine Unterstruktursuche nach dem Benutzernamen ab dem in der Verbindungszeichenfolge angegebenen Suchpunkt ausführt. Weitere Informationen zu Verbindungszeichenfolgen finden Sie im ActiveDirectoryMembershipProvider Thema der -Klasse.

Gilt für:

Weitere Informationen