Bagikan melalui


ActiveDirectoryMembershipProvider.CreateUser Metode

Definisi

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.

email
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.

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.

Berlaku untuk

Lihat juga