Metode IAzApplication::InitializeClientContextFromStringSid (azroles.h)

Metode InitializeClientContextFromStringSid mendapatkan penunjuk objek IAzClientContext dari pengidentifikasi keamanan (SID) yang ditentukan dalam bentuk teks.

Catatan Jika memungkinkan, panggil fungsi InitializeClientContextFromToken alih-alihInitializeClientContextFromStringSid. Untuk informasi selengkapnya, lihat Keterangan.

 

Sintaks

HRESULT InitializeClientContextFromStringSid(
  [in]           BSTR             SidString,
  [in]           LONG             lOptions,
  [in, optional] VARIANT          varReserved,
  [out]          IAzClientContext **ppClientContext
);

Parameter

[in] SidString

String yang berisi bentuk teks SID dari prinsip keamanan. Ini harus berupa string SID yang valid yang dapat dikonversi oleh fungsi ConvertStringSidToSid .

[in] lOptions

Opsi untuk pembuatan konteks.

Jika AZ_CLIENT_CONTEXT_SKIP_GROUP ditentukan, SID yang ditentukan dalam parameter SidString belum tentu merupakan akun pengguna yang valid. SID akan digunakan untuk membuat konteks tanpa validasi. Konteks yang dibuat akan ditandai sebagai telah dibuat dari SID, string SID akan disimpan di bidang nama klien, dan bidang nama domain akan kosong. Grup token tidak akan digunakan dalam pembuatan konteks klien. Grup kueri Lightweight Directory Access Protocol (LDAP) tidak didukung saat AZ_CLIENT_CONTEXT_SKIP_GROUP ditentukan. Karena akun tidak divalidasi di Direktori Aktif, properti informasi pengguna konteks klien, seperti UserSamCompat, tidak akan valid, dan ketika diakses, mereka akan mengembalikan ERROR_INVALID_HANDLE. Properti RoleForAccessCheck dan metode AccessCheckdari IAzClientContext masih dapat digunakan untuk menentukan peran untuk pemeriksaan akses. Metode GetRolesIAzClientContext masih dapat digunakan untuk menghitung peran yang ditetapkan ke konteks dalam cakupan tertentu.

Jika AZ_CLIENT_CONTEXT_SKIP_GROUP tidak ditentukan, SID harus mewakili akun pengguna yang valid.

[in, optional] varReserved

Disiapkan untuk penggunaan masa mendatang. Parameter ini bisa menjadi salah satu nilai berikut:

  • varReserved.vt == VT_ERROR dan varReserved.scode == DISP_E_PARAMNOTFOUND
  • varReserved.vt == VT_EMPTY
  • varReserved.vt == VT_NULL
  • varReserved.vt == VT_I4 dan varReserved.lVal == 0
  • varReserved.vt == VT_I2 dan varReserved.iVal == 0

[out] ppClientContext

Penunjuk ke penunjuk ke objek IAzClientContext yang dikembalikan.

Mengembalikan nilai

Jika fungsi berhasil, fungsi akan mengembalikan S_OK.

Jika fungsi gagal, fungsi mengembalikan nilai HRESULT yang menunjukkan kesalahan. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.

Keterangan

Jika memungkinkan, panggil fungsi InitializeClientContextFromToken alih-alihInitializeClientContextFromStringSid. InitializeClientContextFromStringSid mencoba mengambil informasi yang tersedia dalam token masuk membuat klien benar-benar masuk. Token masuk aktual memberikan informasi lebih lanjut, seperti jenis masuk dan properti masuk, dan mencerminkan perilaku paket autentikasi yang digunakan untuk masuk. Konteks klien yang dibuat oleh InitializeClientContextFromToken menggunakan token masuk, dan konteks klien yang dihasilkan lebih lengkap dan akurat daripada konteks klien yang dibuat oleh InitializeClientContextFromStringSid.

Penting Aplikasi tidak boleh berasumsi bahwa konteks panggilan memiliki izin untuk menggunakan fungsi ini. Fungsi AuthzInitializeContextFromSid membaca atribut tokenGroupsGlobalAndUniversal dari SID yang ditentukan dalam panggilan untuk menentukan keanggotaan grup pengguna saat ini. Jika objek pengguna berada di Direktori Aktif, konteks panggilan harus memiliki akses baca ke atribut tokenGroupsGlobalAndUniversal pada objek pengguna. Akses baca ke atribut tokenGroupsGlobalAndUniversal diberikan ke grup Akses yang Kompatibel Pra-Windows 2000 , tetapi domain baru berisi grup Akses Kompatibel Pra-Windows 2000 kosong secara default karena pilihan penyiapan default adalah Izin yang kompatibel dengan Windows 2000 dan Windows Server 2003. Oleh karena itu, aplikasi mungkin tidak memiliki akses ke atribut tokenGroupsGlobalAndUniversal; dalam hal ini, fungsi AuthzInitializeContextFromSid gagal dengan ACCESS_DENIED. Aplikasi yang menggunakan fungsi ini harus menangani kesalahan ini dengan benar dan menyediakan dokumentasi pendukung. Untuk menyederhanakan pemberian izin akun untuk mengkueri informasi grup pengguna, tambahkan akun yang memerlukan kemampuan untuk mencari informasi grup ke Grup Akses Otorisasi Windows.
 
Aplikasi yang memanggil fungsi ini harus menggunakan nama domain atau nama prinsipal pengguna (UPN) yang sepenuhnya memenuhi syarat. Jika tidak, metode ini mungkin gagal di seluruh forest jika nama domain NetBIOS digunakan dan kedua domain tidak memiliki hubungan kepercayaan langsung.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header azroles.h
Pustaka Azroles.lib
DLL Azroles.dll
Redistribusi Paket Alat Administrasi Windows Server 2003 pada Windows XP

Lihat juga

Mengizinkan Akses Anonim

IAzApplication