ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer 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.
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.
Die ChangePasswordQuestionAndAnswer(String, String, String, String)-Methode wird aufgerufen, bevor die ActiveDirectoryMembershipProvider-Instanz initialisiert wird.
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 Werttrue
haben.attributeMapPasswordQuestion
undattributeMapPasswordAnswer
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 true
und 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 password
von 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.