ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Aktualizuje pytanie i odpowiedź na hasło użytkownika w magazynie usługi 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żytkownik, aby zmienić pytanie i odpowiedź na hasło.
- password
- String
Hasło dla określonego użytkownika.
- newPasswordQuestion
- String
Nowe pytanie dotyczące hasła dla określonego użytkownika.
- newPasswordAnswer
- String
Nowa odpowiedź na hasło dla określonego użytkownika.
Zwraca
true
jeśli aktualizacja zakończyła się pomyślnie; w przeciwnym razie , false
. Zwracana jest również wartość false
, jeśli hasło jest niepoprawne, użytkownik jest zablokowany lub użytkownik nie istnieje w magazynie danych usługi Active Directory.
Wyjątki
Administrator nie zamapował pól zapytania i odpowiedzi haseł na atrybuty schematu usługi Active Directory.
username
jest pusta lub przekracza maksymalną długość nazwy użytkownika (zwykle 256 znaków).
-lub-
username
zawiera przecinki.
-lub-
Nazwa użytkownika jest mapowana na userPrincipalName
atrybut, a username
parametr zawiera ukośniki odwrotne.
-lub-
password
jest ciągiem o zerowej długości.
-lub-
password
przekracza maksymalną długość hasła (zwykle 128 znaków).
-lub-
newPasswordQuestion
jest pusta RequiresQuestionAndAnswer , a wartość właściwości to true
.
-lub-
newPasswordQuestion
przekracza 256 znaków.
-lub-
newPasswordAnswer
przekracza 128 znaków po zaszyfrowaniu odpowiedzi.
username
to null
.
-lub-
password
to null
.
-lub-
newPasswordQuestion
is null
i RequiresQuestionAndAnswer właściwość to true
.
-lub-
newPasswordAnswer
is null
i RequiresQuestionAndAnswer właściwość to true
.
Element konfiguracji machineKey (ASP.NET Settings Schema) wskazuje automatycznie wygenerowany klucz szyfrowania maszyny. Należy jawnie ustawić decryptionKey
atrybut elementu machineKey (ASP.NET Settings Schema), aby przechowywać odpowiedzi na hasła za pomocą elementu ActiveDirectoryMembershipProvider.
Metoda jest wywoływana ChangePasswordQuestionAndAnswer(String, String, String, String) przed zainicjowanym wystąpieniem ActiveDirectoryMembershipProvider .
Uwagi
Metoda jest wywoływana przez klasę ActiveDirectoryMembershipUser w celu zaktualizowania pytania i odpowiedzi na hasło użytkownika w magazynie członkostwa w usłudze Active Directory.
Wymaganie pytania i odpowiedzi na hasło zapewnia dodatkową warstwę zabezpieczeń podczas resetowania hasła użytkownika. Podczas tworzenia nazwy użytkownika użytkownik może podać pytanie i odpowiedzieć, które można później użyć do zresetowania zapomnianego hasła. Metoda ChangePasswordQuestionAndAnswer aktualizuje pytanie o hasło i odpowiedź dla użytkownika członkostwa na nowe wartości.
Aby użyć ChangePasswordQuestionAndAnswer metody, należy ustawić te dodatkowe atrybuty w pliku konfiguracji aplikacji:
requiresQuestionAndAnswer
musi mieć wartośćtrue
.attributeMapPasswordQuestion
iattributeMapPasswordAnswer
muszą być mapowane na atrybuty w schemacie usługi Active Directory.
Jeśli powyższe kryteria nie zostaną spełnione, ProviderException zostanie zgłoszony podczas inicjowania.
Wystąpienie ActiveDirectoryMembershipProvider łączy się z magazynem danych usługi Active Directory przy użyciu poświadczeń podanych w parametrach i password
w username
celu zweryfikowania kombinacji nazwy użytkownika/hasła. Rzeczywista aktualizacja pytania i odpowiedzi jest wykonywana przy użyciu skonfigurowanych poświadczeń połączenia dostawcy.
Jeśli do metody podano ChangePasswordQuestionAndAnswer nieprawidłowe hasło, serwer katalogów zwiększy liczniki, które śledzą nieprawidłowe próby hasła. Może to spowodować zablokowanie użytkownika i nie można się zalogować, dopóki stan blokady nie zostanie wyczyszczone przez wywołanie UnlockUser metody lub zablokowany czas trwania określony w katalogu przechodzi.
Jeśli aktualizacja pytania i odpowiedzi powiedzie się, a EnablePasswordReset właściwość to true
, liczniki śledzenia odpowiedzi na hasło użytkownika zostaną zresetowane.
Odpowiedź na hasło jest szyfrowana przy użyciu EncryptPassword metody przed zapisaną w magazynie danych usługi Active Directory. Klucz i algorytm szyfrowania są określane przez element machineKey (ASP.NET Settings Schema) konfiguracji. Należy określić atrybut odszyfrowywania elementu machineKey (ASP.NET Settings Schema), a ActiveDirectoryMembershipProvider klasa nie obsługuje automatycznie generowanych kluczy szyfrowania.
Maksymalna długość pytania dotyczącego hasła wynosi 256 znaków. Maksymalna długość odpowiedzi na hasło wynosi 128 znaków.
Spacje wiodące i końcowe są przycinane ze wszystkich wartości parametrów z wyjątkiem password
.
Dostawca znajduje wystąpienie użytkownika do aktualizacji, wykonując wyszukiwanie poddrzewa nazwy użytkownika, zaczynając od punktu wyszukiwania określonego w parametrach połączenia. Zobacz temat klasy, ActiveDirectoryMembershipProvider aby uzyskać więcej informacji na temat parametrów połączenia.