enumerasi ADS_AUTHENTICATION_ENUM (iads.h)
Enumerasi ADS_AUTHENTICATION_ENUM menentukan opsi autentikasi yang digunakan di ADSI untuk mengikat objek layanan direktori. Saat memanggil IADsOpenDSObject atau ADsOpenObject untuk mengikat objek ADSI, berikan setidaknya salah satu opsi. Secara umum, penyedia yang berbeda akan memiliki implementasi yang berbeda. Opsi yang di dokumentasikan di sini berlaku untuk penyedia yang disediakan oleh Microsoft yang disertakan dengan ADSI SDK. Untuk informasi selengkapnya, lihat Penyedia Sistem ADSI.
Sintaks
typedef enum __MIDL___MIDL_itf_ads_0000_0000_0018 {
ADS_SECURE_AUTHENTICATION = 0x1,
ADS_USE_ENCRYPTION = 0x2,
ADS_USE_SSL = 0x2,
ADS_READONLY_SERVER = 0x4,
ADS_PROMPT_CREDENTIALS = 0x8,
ADS_NO_AUTHENTICATION = 0x10,
ADS_FAST_BIND = 0x20,
ADS_USE_SIGNING = 0x40,
ADS_USE_SEALING = 0x80,
ADS_USE_DELEGATION = 0x100,
ADS_SERVER_BIND = 0x200,
ADS_NO_REFERRAL_CHASING = 0x400,
ADS_AUTH_RESERVED = 0x80000000
} ADS_AUTHENTICATION_ENUM;
Konstanta
ADS_SECURE_AUTHENTICATION Nilai: 0x1 Meminta autentikasi aman. Ketika bendera ini diatur, penyedia WinNT menggunakan NT LAN Manager (NTLM) untuk mengautentikasi klien. Direktori Aktif akan menggunakan Kerberos, dan mungkin NTLM, untuk mengautentikasi klien. Kapan nama pengguna dan kata sandi adalah NULL, ADSI mengikat objek menggunakan keamanan konteks alur panggilan, yang merupakan konteks keamanan akun pengguna di mana aplikasi sedang berjalan atau akun pengguna klien yang diwakili utas panggilan. |
ADS_USE_ENCRYPTION Nilai: 0x2 Mengharuskan ADSI menggunakan enkripsi untuk pertukaran data melalui jaringan. Catatan Opsi ini tidak didukung oleh penyedia WinNT. |
ADS_USE_SSL Nilai: 0x2 Saluran dienkripsi menggunakan Secure Sockets Layer (SSL). Direktori Aktif mengharuskan Sertifikat Server diinstal untuk mendukung SSL. Jika bendera ini tidak digabungkan dengan bendera ADS_SECURE_AUTHENTICATION dan kredensial yang disediakan adalah NULL, ikatan akan dilakukan secara anonim. Jika bendera ini dikombinasikan dengan bendera ADS_SECURE_AUTHENTICATION dan kredensial yang disediakan NULL, maka kredensial utas panggilan digunakan. Catatan Opsi ini tidak didukung oleh penyedia WinNT. |
ADS_READONLY_SERVER Nilai: 0x4 Pengontrol domain bisa-tulis tidak diperlukan. Jika aplikasi Anda hanya membaca atau mengkueri data dari Aktif Direktori, Anda harus menggunakan bendera ini untuk membuka sesi. Hal ini memungkinkan aplikasi untuk memanfaatkan Read-Only DC (RODC). Di Windows Server 2008, ADSI mencoba menyambungkan ke Read-Only DC (RODC) atau DC bisa-tulis. Ini memungkinkan penggunaan RODC untuk akses dan memungkinkan aplikasi berjalan di jaringan cabang atau perimeter (juga dikenal sebagai DMZ, zona demiliterisasi, dan subnet yang disaring), tanpa perlu konektivitas langsung dengan DC bisa-tulis. Untuk informasi selengkapnya tentang pemrograman untuk kompatibilitas RODC, lihat Panduan Kompatibilitas Aplikasi Pengendali Domain Baca-Saja. |
ADS_PROMPT_CREDENTIALS Nilai: 0x8 Bendera ini tidak didukung. |
ADS_NO_AUTHENTICATION Nilai: 0x10 Tidak meminta autentikasi. Penyedia dapat mencoba untuk mengikat klien, sebagai pengguna anonim, ke objek target. Penyedia WinNT tidak mendukung bendera ini. Direktori Aktif membuat koneksi antara klien dan objek yang ditargetkan, tetapi tidak akan melakukan autentikasi. Mengatur jumlah bendera ini ke permintaan pengikatan anonim, yang menunjukkan semua pengguna sebagai konteks keamanan. |
ADS_FAST_BIND Nilai: 0x20 Saat bendera ini diatur, ADSI tidak akan mencoba mengkueri objectClass properti dan dengan demikian hanya akan mengekspos antarmuka dasar yang didukung oleh semua objek ADSI alih-alih objek lengkap Dukungan. Pengguna dapat menggunakan opsi ini untuk meningkatkan performa dalam serangkaian manipulasi objek yang melibatkan hanya metode antarmuka dasar. Namun, ADSI tidak akan memverifikasi bahwa salah satu objek yang diminta benar-benar ada di server. Untuk mengetahui informasi selengkapnya, lihat Opsi Pengikatan Cepat untuk Operasi Tulis/Ubah Batch. Opsi ini juga berguna untuk mengikat ke layanan direktori non-Direktori Aktif, misalnya Exchange 5.5, di mana kueri objectClass akan gagal. |
ADS_USE_SIGNING Nilai: 0x40 Memverifikasi integritas data. Bendera ADS_SECURE_AUTHENTICATION juga harus diatur untuk menggunakan penandatanganan. Catatan Opsi ini tidak didukung oleh penyedia WinNT. |
ADS_USE_SEALING Nilai: 0x80 Mengenkripsi data menggunakan Kerberos. Bendera ADS_SECURE_AUTHENTICATION juga harus diatur untuk menggunakan penyegelan. Catatan Opsi ini tidak didukung oleh penyedia WinNT. |
ADS_USE_DELEGATION Nilai: 0x100 Memungkinkan ADSI mendelegasikan konteks keamanan pengguna, yang diperlukan untuk memindahkan objek di seluruh domain. |
ADS_SERVER_BIND Nilai: 0x200 Jika nama server DNS Direktori Aktif diteruskan di jalur LDAP, ini memaksa pencarian catatan A dan melewati pencarian rekaman SRV apa pun saat menyelesaikan nama host. Catatan Opsi ini tidak didukung oleh penyedia WinNT. |
ADS_NO_REFERRAL_CHASING Nilai: 0x400 Tentukan bendera ini untuk mematikan pengejaran rujukan selama masa pakai koneksi. Namun, bahkan ketika bendera ini ditentukan, ADSI masih memungkinkan pengaturan perilaku pengejaran rujukan untuk enumerasi kontainer saat ditetapkan menggunakan ADS_OPTION_REFERRALS di ADS_OPTION_ENUM (seperti yang di dokumentasikan dalam enumerasi kontainer dengan pengejaran rujukan di IADsObjectOptions::SetOption) Dan mencari secara terpisah (seperti yang di dokumentasikan dalam Pengejaran Rujukan dengan IDirectorySearch). Catatan Opsi ini tidak didukung oleh penyedia WinNT. |
ADS_AUTH_RESERVED Nilai: 0x80000000 Dicadangkan. |
Keterangan
Bendera ADS_SECURE_AUTHENTICATION dapat digunakan dalam kombinasi dengan bendera lain seperti ADS_READONLY_SERVER, ADS_PROMPT_CREDENTIALS, ADS_FAST_BIND, dan sebagainya.
Pengikatan tanpa server mengacu pada proses di mana klien mencoba mengikat ke objek Direktori Aktif tanpa secara eksplisit menentukan server Direktori Aktif dalam string pengikatan. Hal ini dimungkinkan karena penyedia LDAP bergantung pada layanan pencari lokasi Windows untuk menemukan pengendali domain (DC) terbaik untuk klien. Namun, klien harus memiliki akun di pengendali domain Direktori Aktif untuk memanfaatkan fitur pengikatan tanpa server, dan DC yang digunakan oleh ikatan tanpa server akan selalu terletak di domain default; yaitu, domain yang terkait dengan konteks keamanan saat ini dari utas yang melakukan pengikatan.
Karena VBScript tidak dapat membaca data dari pustaka jenis, aplikasi VBScript tidak mengenali konstanta simbolis seperti yang ditentukan di atas. Gunakan konstanta numerik sebagai gantinya untuk mengatur bendera yang sesuai di aplikasi VBScript Anda. Untuk menggunakan konstanta simbolis sebagai praktik pemrograman yang baik, tulis deklarasi eksplisit konstanta tersebut, seperti yang dilakukan di sini, dalam aplikasi edisi Visual Basic Scripting Anda.
Contoh
Contoh kode berikut menunjukkan cara menggunakan IADsOpenDSObject untuk membuka objek di fabrikam dengan autentikasi aman untuk penyedia WinNT.
Const ADS_SECURE_AUTHENTICATION = 1
Dim dso As IADsOpenDSObject
Dim domain As IADsDomain
Set dso = GetObject("WinNT:")
Set domain = dso.OpenDSObject("WinNT://Fabrikam", vbNullString, vbNullString, ADS_SECURE_AUTHENTICATION)
Contoh kode berikut menunjukkan bagaimana bendera ADS_SECURE_AUTHENTICATION digunakan dengan ADsOpenObject untuk memvalidasi pengguna yang terikat sebagai "JeffSmith". Nama pengguna dapat berformat UPN: "JeffSmith@Fabrikam.com", serta format nama yang dibedakan: "CN=JeffSmith,DC=Fabrikam,DC=COM".
IADs *pObject = NULL;
HRESULT hr;
hr = ADsOpenObject(_bstr_t("LDAP://CN=JeffSmith, DC=fabrikam, DC=com"),
NULL,
NULL,
ADS_SECURE_AUTHENTICATION,
IID_IADs,
(void**) &pObject);
if (hr != S_OK)
{} // Handle open object errors here.
else
{} // Object was retrieved, continue processing here.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Header | iads.h |