Bagikan melalui


ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Metode

Definisi

Memperbarui pertanyaan dan jawaban kata sandi untuk pengguna di penyimpanan Direktori Aktif.

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

Pengguna untuk mengubah pertanyaan dan jawaban kata sandi.

password
String

Kata sandi untuk pengguna yang ditentukan.

newPasswordQuestion
String

Pertanyaan kata sandi baru untuk pengguna yang ditentukan.

newPasswordAnswer
String

Jawaban kata sandi baru untuk pengguna yang ditentukan.

Mengembalikan

true jika pembaruan berhasil; jika tidak, false. Nilai false juga dikembalikan jika kata sandi salah, pengguna dikunci, atau pengguna tidak ada di penyimpanan data Direktori Aktif.

Pengecualian

Administrator belum memetakan bidang tanya jawab kata sandi ke atribut skema Direktori Aktif.

username kosong, atau melebihi panjang maksimum untuk nama pengguna (biasanya 256 karakter).

-atau-

username berisi koma.

-atau-

Nama pengguna dipetakan ke userPrincipalName atribut dan username parameter berisi garis miring terbalik.

-atau-

password adalah string panjang nol.

-atau-

password melebihi panjang kata sandi maksimum (biasanya 128 karakter).

-atau-

newPasswordQuestion kosong dan RequiresQuestionAndAnswer nilai properti adalah true.

-atau-

newPasswordQuestion melebihi 256 karakter.

-atau-

newPasswordAnswer melebihi 128 karakter setelah jawaban dienkripsi.

usernameadalah null.

-atau-

passwordadalah null.

-atau-

newPasswordQuestion adalah null dan RequiresQuestionAndAnswer properti adalah true.

-atau-

newPasswordAnswer adalah null dan RequiresQuestionAndAnswer properti adalah true.

Elemen MachineKey (ASP.NET Settings Schema) menunjukkan kunci enkripsi komputer yang dibuat secara otomatis. Anda harus secara eksplisit mengatur decryptionKey atribut elemen machineKey Element (ASP.NET Settings Schema) untuk menyimpan jawaban kata sandi dengan ActiveDirectoryMembershipProvider.

Keterangan

Metode ini dipanggil oleh ActiveDirectoryMembershipUser kelas untuk memperbarui pertanyaan dan jawaban kata sandi untuk pengguna di penyimpanan keanggotaan Direktori Aktif.

Memerlukan pertanyaan dan jawaban kata sandi memberikan lapisan keamanan tambahan saat mengatur ulang kata sandi pengguna. Saat membuat nama pengguna, pengguna dapat memberikan pertanyaan dan jawaban yang nantinya dapat digunakan untuk mengatur ulang kata sandi yang terlupakan. Metode memperbarui ChangePasswordQuestionAndAnswer pertanyaan dan jawaban kata sandi untuk pengguna keanggotaan ke nilai baru.

Untuk menggunakan metode ini ChangePasswordQuestionAndAnswer , Anda harus mengatur atribut tambahan ini dalam file konfigurasi aplikasi Anda:

  • requiresQuestionAndAnswer harus merupakan true.

  • attributeMapPasswordQuestion dan attributeMapPasswordAnswer harus dipetakan ke atribut dalam skema Direktori Aktif.

Jika kriteria di atas tidak terpenuhi, akan ProviderException dilemparkan pada inisialisasi.

ActiveDirectoryMembershipProvider Instans terhubung ke penyimpanan data Direktori Aktif dengan kredensial yang disediakan dalam username parameter dan password untuk memvalidasi kombinasi nama pengguna/kata sandi. Pembaruan aktual dari pertanyaan dan jawaban dilakukan dengan kredensial koneksi penyedia yang dikonfigurasi.

Jika kata sandi yang salah diberikan ke ChangePasswordQuestionAndAnswer metode , server direktori akan menambah penghitung yang melacak upaya kata sandi yang tidak valid. Ini dapat mengakibatkan pengguna terkunci dan tidak dapat masuk hingga status kunci dihapus oleh panggilan ke UnlockUser metode atau durasi terkunci yang ditentukan dalam direktori berlalu.

Jika pembaruan untuk pertanyaan dan jawaban berhasil dan EnablePasswordReset propertinya adalah true, penghitung pelacakan jawaban kata sandi pengguna yang buruk diatur ulang.

Jawaban kata sandi dienkripsi menggunakan EncryptPassword metode sebelum disimpan di penyimpanan data Direktori Aktif. Kunci enkripsi dan algoritma ditentukan oleh elemen konfigurasi MachineKey Element (ASP.NET Settings Schema). Atribut dekripsi pada elemen MachineKey Element (ASP.NET Settings Schema) harus ditentukan, ActiveDirectoryMembershipProvider kelas tidak mendukung kunci enkripsi yang dihasilkan secara otomatis.

Panjang maksimum untuk pertanyaan kata sandi adalah 256 karakter. Panjang maksimum untuk jawaban kata sandi adalah 128 karakter.

Spasi di depan dan di belakang dipangkas dari semua nilai parameter kecuali untuk password.

Penyedia menemukan instans pengguna untuk diperbarui dengan melakukan pencarian subtree untuk nama pengguna yang dimulai dari titik pencarian yang ditentukan dalam string koneksi. ActiveDirectoryMembershipProvider Lihat topik kelas untuk informasi selengkapnya tentang string koneksi.

Berlaku untuk

Lihat juga