Bagikan melalui


ActiveDirectoryMembershipProvider.ResetPassword(String, String) Metode

Definisi

Mereset kata sandi pengguna ke kata sandi baru yang dibuat secara otomatis.

public:
 override System::String ^ ResetPassword(System::String ^ username, System::String ^ passwordAnswer);
public override string ResetPassword (string username, string passwordAnswer);
override this.ResetPassword : string * string -> string
Public Overrides Function ResetPassword (username As String, passwordAnswer As String) As String

Parameter

username
String

Pengguna untuk mengatur ulang kata sandi.

passwordAnswer
String

Jawaban kata sandi untuk pengguna yang ditentukan.

Mengembalikan

Kata sandi baru untuk pengguna yang ditentukan.

Pengecualian

Metode ResetPassword(String, String) ini dipanggil sebelum instans diinisialisasi ActiveDirectoryMembershipProvider .

Nilai EnablePasswordReset properti adalah false.

passwordAnsweradalah null.

-atau-

usernameadalah null.

passwordAnswer kosong setelah pemangkasan

-atau-

passwordAnswer melebihi 128 karakter.

-atau-

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

-atau-

username berisi koma.

-atau-

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

Pengguna dikunci karena terlalu banyak upaya masuk yang buruk atau terlalu banyak upaya reset jawaban kata sandi yang dicoba.

-atau-

passwordAnswer tidak cocok dengan jawaban kata sandi yang disimpan.

Pengguna yang ditentukan di username tidak ada di penyimpanan data Direktori Aktif.

-atau-

Kata sandi yang dihasilkan tidak melewati penangan validasi kustom.

-atau-

Kata sandi yang dihasilkan tidak cukup kompleks untuk memenuhi kebijakan kata sandi kustom yang ditetapkan pada server Direktori Aktif.

-atau-

Koneksi aman tidak dapat dilakukan ke server Mode Aplikasi Direktori Aktif untuk menyetel kata sandi baru.

Terjadi pengecualian yang tidak tertangani.

Keterangan

Metode ini dipanggil oleh Membership kelas untuk mengatur ulang kata sandi untuk pengguna di penyimpanan data Direktori Aktif ke nilai baru yang dihasilkan secara acak. Kata sandi baru dikembalikan.

Catatan

Kata sandi acak yang ResetPassword dibuat oleh metode tidak dijamin untuk meneruskan ekspresi reguler di PasswordStrengthRegularExpression properti . Namun, kata sandi acak akan memenuhi kriteria yang ditetapkan oleh MinRequiredPasswordLength properti dan MinRequiredNonAlphanumericCharacters .

Jika jawaban yang salah diberikan ke ResetPassword metode , penghitung internal yang melacak upaya jawaban kata sandi yang tidak valid akan bertambah satu per satu. Ini dapat mengakibatkan pengguna tidak dapat masuk sampai status kunci dibersihkan oleh panggilan ke UnlockUser metode . Jika jawaban kata sandi yang benar diberikan dan pengguna saat ini tidak dikunci, maka penghitung internal yang melacak upaya kata sandi yang tidak valid diatur ulang ke nol. Untuk informasi selengkapnya, lihat properti MaxInvalidPasswordAttempts dan PasswordAttemptWindow.

Spasi di depan dan di belakang dipangkas dari semua nilai parameter.

Anda dapat memanggil metode secara ResetPassword langsung dengan terlebih dahulu mendapatkan referensi ke ActiveDirectoryMembershipProvider instans dari Membership.Provider properti .

Penyedia menggunakan pencarian subtree yang dimulai pada titik pencarian yang ditentukan dalam string koneksi. ActiveDirectoryMembershipProvider Lihat topik kelas untuk informasi selengkapnya tentang string koneksi.

Untuk mengatur kata sandi pada server Direktori Aktif, connectionProtection atribut harus diatur ke SignAndSeal.

Saat menggunakan server ADAM, connectionProtection atribut dapat diatur ke None, tetapi hanya jika Anda secara eksplisit mengonfigurasi server ADAM untuk memungkinkan perubahan kata sandi melalui koneksi yang tidak aman.

Penting

Anda tidak dapat mengatur ulang kata sandi kecuali kredensial yang digunakan untuk menyambungkan ke server Direktori Aktif memiliki hak Administrator Domain (tidak disarankan) atau hak akses "atur ulang kata sandi".

Untuk mengatur ulang kata sandi, semua kondisi berikut harus benar:

  • Properti EnablePasswordReset harus diatur ke true.

  • Skema Direktori Aktif harus dimodifikasi agar berisi atribut untuk menyimpan pertanyaan dan jawaban kata sandi, dan tiga bidang pelacakan untuk perubahan jawaban kata sandi.

  • Atribut attributeMapPasswordQuestion, attributeMapPasswordAnswer, attributeMapFailedPasswordAnswerCount, attributeMapFailedPasswordAnswerTime, dan attributeMapFailedPasswordAnswerLockedTime harus diatur dalam file konfigurasi aplikasi.

  • Properti RequiresQuestionAndAnswer harus diatur ke true.

  • Konteks keamanan untuk menyambungkan ke penyimpanan data Direktori Aktif (baik akun proses atau kredensial eksplisit) harus memiliki hak istimewa yang memadai untuk mengubah kata sandi. Kredensial yang digunakan untuk menyambungkan ke server Direktori Aktif memiliki hak Administrator Domain (tidak disarankan) atau hak akses "reset kata sandi".

Catatan

Kebijakan keamanan yang ditetapkan pada server Direktori Aktif mungkin membuat metode tidak ResetPassword mungkin untuk menghasilkan kata sandi yang memenuhi kebijakan. Implementasi default metode ini GeneratePassword akan menghasilkan kata sandi yang memenuhi kebijakan kata sandi default pada pengendali domain yang menjalankan Windows Server 2003 SP1. Jika kata sandi tidak dapat direset karena kebijakan keamanan di server Direktori Aktif, ProviderException akan dilemparkan.

Berlaku untuk

Lihat juga