ActiveDirectoryMembershipProvider.ResetPassword(String, String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
.
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
, danattributeMapFailedPasswordAnswerLockedTime
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.