ActiveDirectoryMembershipProvider.CreateUser 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.
Menambahkan pengguna baru ke penyimpanan data Direktori Aktif.
public:
override System::Web::Security::MembershipUser ^ CreateUser(System::String ^ username, System::String ^ password, System::String ^ email, System::String ^ passwordQuestion, System::String ^ passwordAnswer, bool isApproved, System::Object ^ providerUserKey, [Runtime::InteropServices::Out] System::Web::Security::MembershipCreateStatus % status);
public override System.Web.Security.MembershipUser CreateUser (string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out System.Web.Security.MembershipCreateStatus status);
override this.CreateUser : string * string * string * string * string * bool * obj * MembershipCreateStatus -> System.Web.Security.MembershipUser
Public Overrides Function CreateUser (username As String, password As String, email As String, passwordQuestion As String, passwordAnswer As String, isApproved As Boolean, providerUserKey As Object, ByRef status As MembershipCreateStatus) As MembershipUser
Parameter
- username
- String
Nama pengguna untuk pengguna baru.
- password
- String
Kata sandi untuk pengguna baru.
- String
Alamat email pengguna baru.
- passwordQuestion
- String
Pertanyaan kata sandi untuk pengguna baru.
- passwordAnswer
- String
Jawaban kata sandi untuk pengguna baru.
- isApproved
- Boolean
Apakah pengguna baru disetujui untuk divalidasi atau tidak.
- providerUserKey
- Object
Pengidentifikasi unik dari sumber data keanggotaan untuk pengguna. Parameter ini harus null
saat menggunakan ActiveDirectoryMembershipProvider kelas .
- status
- MembershipCreateStatus
Ketika metode ini kembali, berisi salah MembershipCreateStatus satu nilai enumerasi yang menunjukkan apakah pengguna berhasil dibuat.
Mengembalikan
Instans ActiveDirectoryMembershipUser yang berisi informasi untuk pengguna yang baru dibuat, atau null
jika pengguna tidak berhasil dibuat.
Pengecualian
Parameter providerUserKey
bukan null
.
Administrator belum memetakan bidang tanya jawab kata sandi ke atribut skema Direktori Aktif, dan parameter passwordQuestion
atau passwordAnswer
bukan null
.
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.
-atau-
ActiveDirectoryMembershipProvider tidak dapat membuat koneksi aman ke direktori ketika mencoba menyetel kata sandi untuk pengguna baru.
Terjadi kesalahan saat mencoba membuat pengguna.
Metode CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) ini dipanggil sebelum instans diinisialisasi ActiveDirectoryMembershipProvider .
Keterangan
Metode CreateUser ini dipanggil oleh Membership kelas untuk membuat pengguna baru di penyimpanan data Direktori Aktif.
Untuk server Active Directory dan Active Directory Application Mode (ADAM), ActiveDirectoryMembershipProvider kelas mengharuskan kelas instans di direktori menjadi user
. Kelas pengguna alternatif seperti inetOrgPerson
tidak didukung.
Saat menggunakan server Direktori Aktif dan nama pengguna dipetakan ke userPrincipalName
atribut , ActiveDirectoryMembershipProvider kelas akan secara otomatis menghasilkan nama pengguna 20 karakter acak untuk sAMAccountName
parameter atas nama Anda.
Parameter default ke panjang maksimum berikut.
Parameter | Panjang maksimum |
---|---|
username |
64 karakter jika menggunakan userPrincipalName atribut . Jika menggunakan sAMAccountName atribut , pembatasan umum adalah 20 karakter atau kurang. |
password |
128 karakter. |
email |
256 karakter. |
passwordQuestion |
256 karakter. |
passwordAnswer |
128 karakter sebelum dan sesudah mengenkripsi. |
Properti Comment pada instans yang dikembalikan ActiveDirectoryMembershipUser dibatasi hingga 1024 karakter.
Jika skema direktori telah dimodifikasi dengan mengurangi panjang maksimum yang diizinkan untuk atribut ini, panjang ini akan diutamakan.
Sebelum membuat pengguna, ActiveDirectoryMembershipProvider kelas akan memastikan nama pengguna unik. Jika instans dikonfigurasi ActiveDirectoryMembershipProvider untuk memerlukan alamat email unik, instans juga akan memastikan alamat email unik.
Dalam keunikan nama pengguna Direktori Aktif diberlakukan dengan melakukan pencarian GC saat nama pengguna dipetakan ke userPrincipalName
. Jika sAMAccountName
digunakan, direktori akan secara otomatis memberlakukan keunikan di sAMAccountName
seluruh domain Direktori Aktif.
Server ADAM akan secara otomatis memberlakukan keunikan nama pengguna di userPrincipalName
semua partisi aplikasi.
Keunikan alamat email diberlakukan dengan melakukan pencarian subtree untuk alamat email duplikat mulai dari akar kontainer tempat pengguna dibuat. Ini adalah kontainer pengguna default (jika tersambung ke Direktori Aktif dan tidak ada kontainer yang ditentukan dalam string koneksi) atau kontainer yang ditentukan dalam string koneksi.
Kelas ActiveDirectoryMembershipProvider membuat pengguna langsung dalam kontainer pengguna yang ditentukan dalam string koneksi. ActiveDirectoryMembershipProvider Lihat topik kelas untuk informasi selengkapnya tentang string koneksi.
Agar kata sandi diatur pada server Direktori Aktif, connectionProtection
atribut harus diatur ke SignAndSeal.
Ketika server ADAM sedang digunakan, 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.
Spasi di depan dan di belakang dipangkas dari semua nilai parameter string kecuali password
.
Penting
Anda tidak dapat membuat pengguna baru kecuali kredensial yang digunakan untuk menyambungkan ke server Direktori Aktif memiliki hak Administrator Domain (tidak disarankan) atau hak akses "buat instans anak", "hapus instans turunan", dan "atur kata sandi". Hak akses "hapus instans anak" diperlukan karena membuat pengguna adalah proses multi-langkah, dan jika ada langkah pembuatan pengguna yang gagal, ActiveDirectoryMembershipProvider kelas akan menghapus instans pengguna daripada meninggalkan instans pengguna yang dibangun sebagian di direktori.