Sdílet prostřednictvím


ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Metoda

Definice

Aktualizuje otázku a odpověď na heslo pro uživatele v úložišti služby Active Directory.

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

Parametry

username
String

Uživatel, pro který změní otázku a odpověď na heslo.

password
String

Heslo pro zadaného uživatele.

newPasswordQuestion
String

Otázka nového hesla pro zadaného uživatele.

newPasswordAnswer
String

Odpověď nového hesla pro zadaného uživatele.

Návraty

truepokud byla aktualizace úspěšná; v opačném případě . false Hodnota false je vrácena také v případě, že heslo je nesprávné, uživatel je uzamčen nebo uživatel neexistuje v úložišti dat služby Active Directory.

Výjimky

Správce nenamapoval pole pro otázky a odpovědi hesla na atributy schématu služby Active Directory.

username je prázdné nebo překračuje maximální délku uživatelského jména (obvykle 256 znaků).

-nebo-

username obsahuje čárky.

-nebo-

Uživatelské jméno je namapováno na userPrincipalName atribut a username parametr obsahuje zpětná lomítka.

-nebo-

password je řetězec nulové délky.

-nebo-

password překračuje maximální délku hesla (obvykle 128 znaků).

-nebo-

newPasswordQuestion je prázdný a RequiresQuestionAndAnswer hodnota vlastnosti je true.

-nebo-

newPasswordQuestion je delší než 256 znaků.

-nebo-

newPasswordAnswer je delší než 128 znaků po zašifrování odpovědi.

username je null.

-nebo-

password je null.

-nebo-

newPasswordQuestion is null a RequiresQuestionAndAnswer vlastnost je true.

-nebo-

newPasswordAnswer is null a RequiresQuestionAndAnswer vlastnost je true.

Element konfigurace machineKey Element (ASP.NET Settings Schema) označuje automaticky vygenerovaný šifrovací klíč počítače. Je nutné explicitně nastavit decryptionKey atribut elementu machineKey (ASP.NET Settings Schema) pro ukládání odpovědí na heslo s ActiveDirectoryMembershipProvider.

Poznámky

Metoda je volána ActiveDirectoryMembershipUser třídou aktualizovat otázku hesla a odpověď pro uživatele v úložišti členství služby Active Directory.

Vyžadování otázky a odpovědi na heslo poskytuje další vrstvu zabezpečení při resetování hesla uživatele. Při vytváření uživatelského jména může uživatel zadat otázku a odpověď, které lze později použít k resetování zapomenutého hesla. Metoda ChangePasswordQuestionAndAnswer aktualizuje otázku a odpověď na heslo pro uživatele členství na nové hodnoty.

Pokud chcete použít metodu ChangePasswordQuestionAndAnswer , musíte v konfiguračním souboru aplikace nastavit tyto další atributy:

  • requiresQuestionAndAnswer musí být true.

  • attributeMapPasswordQuestion a attributeMapPasswordAnswer musí být namapovány na atributy ve schématu služby Active Directory.

Pokud výše uvedená kritéria nejsou splněna, ProviderException je vyvolán při inicializaci.

Instance se ActiveDirectoryMembershipProvider připojí k úložišti dat služby Active Directory pomocí přihlašovacích údajů zadaných v parametrech username a password k ověření kombinace uživatelského jména a hesla. Skutečná aktualizace otázky a odpovědi se provádí s nakonfigurovanými přihlašovacími údaji pro připojení poskytovatele.

Pokud je metodě zadáno ChangePasswordQuestionAndAnswer nesprávné heslo, adresářový server zvýší čítače, které sledují pokusy o neplatné heslo. To může vést k tomu, že uživatel bude uzamčen a nebude se moci přihlásit, dokud se stav zámku nesmaže voláním UnlockUser metody nebo neprojde doba uzamčení zadaná v adresáři.

Pokud aktualizace otázky a odpovědi proběhne úspěšně a EnablePasswordReset vlastnost je true, čítače sledování odpovědí chybných hesel uživatele se resetují.

Odpověď na heslo se před uložením EncryptPassword v úložišti dat služby Active Directory zašifruje pomocí metody . Šifrovací klíč a algoritmus jsou určeny elementem konfigurace machineKey Element (ASP.NET Settings Schema). Musí být zadán atribut decryption v elementu machineKey (ASP.NET Settings Schema), třída ActiveDirectoryMembershipProvider nepodporuje automaticky generované šifrovací klíče.

Maximální délka otázky hesla je 256 znaků. Maximální délka odpovědi na heslo je 128 znaků.

Počáteční a koncové mezery jsou oříznuty ze všech hodnot parametrů s výjimkou password.

Zprostředkovatel najde instanci uživatele, která se má aktualizovat, vyhledáním uživatelského jména v podstromu počínaje vyhledávacím bodem zadaným v připojovacím řetězci. Další informace o připojovacích řetězcích najdete v ActiveDirectoryMembershipProvider tématu třídy.

Platí pro

Viz také