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

Boolean

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 Klasse aufgerufen, um die ActiveDirectoryMembershipUser Kennwortfrage zu aktualisieren und für einen Benutzer im Active Directory-Mitgliedschaftsspeicher zu beantworten.

Wenn Sie eine Kennwortfrage und Antwort benötigen, wird beim Zurücksetzen des Kennworts eines Benutzers eine zusätzliche Sicherheitsebene bereitgestellt. 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 Methode zu verwenden, müssen Sie diese zusätzlichen Attribute in der ChangePasswordQuestionAndAnswer Konfigurationsdatei Ihrer Anwendung festlegen:

  • requiresQuestionAndAnswer muss sein true.

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

Wenn die oben genannten Kriterien nicht erfüllt sind, wird eine ProviderException beim Initialisieren ausgelöst.

Die ActiveDirectoryMembershipProvider Instanz verbindet sich mit dem Active Directory-Datenspeicher mit den anmeldeinformationen, die in den username und password parametern angegeben sind, um die Kombination aus Benutzername/Kennwort zu überprüfen. Die tatsächliche Aktualisierung der Frage und Antwort erfolgt mit den konfigurierten Verbindungsanmeldeinformationen des Anbieters.

Wenn ein falsches Kennwort an die ChangePasswordQuestionAndAnswer Methode übermittelt wird, erhöht der Verzeichnisserver die Zähler, 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 gesperrte Dauer gelöscht wird, die im Verzeichnis übergeben wird.

Wenn das Update auf die Frage und Antwort erfolgreich ist und die EnablePasswordReset Eigenschaft truelautet, werden die fehlerhaften Kennwortantwortverfolgungsindikatoren des Benutzers zurückgesetzt.

Die Kennwortantwort wird mithilfe der EncryptPassword Methode verschlüsselt, bevor sie im Active Directory-Datenspeicher gespeichert wird. Der Verschlüsselungsschlüssel und der Algorithmus werden durch das MachineKey-Element (ASP.NET Einstellungen Schema)-Konfigurationselement angegeben. Das Entschlüsselungsattribute im MachineKey-Element (ASP.NET Einstellungen 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 nachgestellte Leerzeichen werden von allen Parameterwerten mit Ausnahme von password.

Der Anbieter findet die Benutzerinstanz, die aktualisiert werden soll, indem eine Unterstruktursuche nach dem Benutzernamen ausgeführt wird, beginnend mit dem suchpunkt, der in der Verbindungszeichenfolge angegeben ist. Weitere Informationen zu Verbindungszeichenfolgen finden Sie im ActiveDirectoryMembershipProvider Klassenthema.

Gilt für:

Siehe auch