ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
true
pokud 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.
Metoda ChangePasswordQuestionAndAnswer(String, String, String, String) je volána před inicializována ActiveDirectoryMembershipProvider instance.
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ýttrue
.attributeMapPasswordQuestion
aattributeMapPasswordAnswer
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.