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, um die Kennwortfrage und Antwort zu ändern.

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

truewenn das Update erfolgreich war; andernfalls . false Ein Wert von false wird auch zurückgegeben, wenn das Kennwort falsch ist, der Benutzer gesperrt ist oder der Benutzer nicht im Active Directory-Datenspeicher vorhanden ist.

Ausnahmen

Der Administrator hat die Kennwortfrage- und Antwortfelder nicht attributen des Active Directory-Schemas zugeordnet.

username ist leer oder überschreitet die maximale Länge für den Benutzernamen (normalerweise 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 leere Zeichenfolge.

- oder -

password überschreitet die maximale Kennwortlänge (in der Regel 128 Zeichen).

- oder -

newPasswordQuestion ist leer und der RequiresQuestionAndAnswer Eigenschaftswert ist true.

- oder -

newPasswordQuestion überschreitet 256 Zeichen.

- oder -

newPasswordAnswer überschreitet 128 Zeichen, nachdem die Antwort verschlüsselt wurde.

username ist null.

- oder -

password ist null.

- oder -

newPasswordQuestion ist null und RequiresQuestionAndAnswer Eigenschaft ist true.

- oder -

newPasswordAnswer ist null und RequiresQuestionAndAnswer Eigenschaft ist true.

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

Hinweise

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

Das Anfordern 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 bereitstellen, 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 Methode verwenden zu können, müssen Sie diese zusätzlichen Attribute in der ChangePasswordQuestionAndAnswer Konfigurationsdatei Ihrer Anwendung festlegen:

  • requiresQuestionAndAnswer muss den Wert true haben.

  • attributeMapPasswordQuestion und attributeMapPasswordAnswer muss Attributen im Active Directory-Schema zugeordnet werden.

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

Die ActiveDirectoryMembershipProvider Instanz stellt eine Verbindung mit dem Active Directory-Datenspeicher mit den in den username und password parametern angegebenen Anmeldeinformationen zum Überprüfen der Kombination aus Benutzername/Kennwort hergestellt. Die tatsächliche Aktualisierung der Frage und Antwort erfolgt mit den konfigurierten Verbindungsanmeldeinformationen des Anbieters.

Wenn der Methode ein falsches Kennwort bereitgestellt ChangePasswordQuestionAndAnswer 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 oder die im Verzeichnis übergebene Sperrdauer gelöscht wird.

Wenn die Aktualisierung der Frage und Antwort erfolgreich ist und die EnablePasswordReset Eigenschaft lautet true, 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 durch das Configuration-Element "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 von allen Parameterwerten mit Ausnahme von password.

Der Anbieter findet die zu aktualisierende Benutzerinstanz, indem eine Unterstruktursuche für den Benutzernamen ausgeführt wird, beginnend mit dem in der Verbindungszeichenfolge angegebenen Suchpunkt. Weitere Informationen zu Verbindungszeichenfolgen finden Sie im ActiveDirectoryMembershipProvider Klassenthema.

Gilt für:

Weitere Informationen