Udostępnij za pośrednictwem


ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Metoda

Definicja

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.

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 i attributeMapPasswordAnswer 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.

Dotyczy

Zobacz też