Bagikan melalui


Fungsi AuthzInitializeContextFromSid (authz.h)

Fungsi AuthzInitializeContextFromSid membuat konteks klien mode pengguna dari pengidentifikasi keamanan pengguna (SID). SID domain mengambil atribut grup token dari Direktori Aktif.

Catatan Jika memungkinkan, panggil fungsi AuthzInitializeContextFromTokenalih-alih AuthzInitializeContextFromSid. Untuk informasi selengkapnya, lihat Keterangan.

 

Sintaks

AUTHZAPI BOOL AuthzInitializeContextFromSid(
  [in]           DWORD                         Flags,
  [in]           PSID                          UserSid,
  [in, optional] AUTHZ_RESOURCE_MANAGER_HANDLE hAuthzResourceManager,
  [in]           PLARGE_INTEGER                pExpirationTime,
  [in]           LUID                          Identifier,
  [in, optional] PVOID                         DynamicGroupArgs,
  [out]          PAUTHZ_CLIENT_CONTEXT_HANDLE  phAuthzClientContext
);

Parameter

[in] Flags

Bendera berikut ditentukan.

Dimulai dengan Windows 8 dan Windows Server 2012, ketika Anda memanggil fungsi ini pada handel konteks jarak jauh, 16 bit atas harus nol.

Nilai Makna
0 (0x0)
Nilai default.

AuthzInitializeContextFromSid mencoba mengambil informasi grup token pengguna dengan melakukan masuk S4U.

Jika masuk S4U tidak didukung oleh domain pengguna atau komputer panggilan, AuthzInitializeContextFromSid meminta objek akun pengguna untuk informasi grup. Saat akun dikueri secara langsung, beberapa grup yang mewakili karakteristik masuk, seperti Jaringan, Interaktif, Anonim, Layanan Jaringan, atau Layanan Lokal, dihilangkan. Aplikasi dapat secara eksplisit menambahkan SID grup tersebut dengan menerapkan fungsi AuthzComputeGroupsCallback atau memanggil fungsi AuthzAddSidsToContext .

AUTHZ_SKIP_TOKEN_GROUPS
2 (0x2)
Menyebabkan AuthzInitializeContextFromSid melewati semua evaluasi grup. Ketika bendera ini digunakan, konteks yang dikembalikan hanya berisi SID yang ditentukan oleh parameter UserSid . SID yang ditentukan dapat berupa SID arbitrer atau khusus aplikasi. SID lain dapat ditambahkan ke konteks ini dengan mengimplementasikan fungsi AuthzComputeGroupsCallback atau dengan memanggil fungsi AuthzAddSidsToContext .
AUTHZ_REQUIRE_S4U_LOGON
4 (0x4)
Menyebabkan AuthzInitializeContextFromSid gagal jika Layanan Windows Untuk Pengguna tidak tersedia untuk mengambil informasi grup token.

Windows XP: Bendera ini tidak didukung.

AUTHZ_COMPUTE_PRIVILEGES
8 (0x8)
Menyebabkan AuthzInitializeContextFromSid mengambil hak istimewa untuk konteks baru. Jika fungsi ini melakukan masuk S4U, fungsi ini mengambil hak istimewa dari token. Jika tidak, fungsi mengambil hak istimewa dari semua SID dalam konteks.

[in] UserSid

SID pengguna yang konteks kliennya akan dibuat. Ini harus merupakan akun pengguna atau komputer yang valid kecuali bendera AUTHZ_SKIP_TOKEN_GROUPS digunakan.

[in, optional] hAuthzResourceManager

Handel ke resource manager yang membuat konteks klien ini. Handel ini disimpan dalam struktur konteks klien.

Dimulai dengan Windows 8 dan Windows Server 2012, manajer sumber daya dapat lokal atau jarak jauh dan diperoleh dengan memanggil fungsi AuthzInitializeRemoteResourceManager.

[in] pExpirationTime

Tanggal dan waktu kedaluwarsa token. Jika tidak ada nilai yang diteruskan, token tidak pernah kedaluwarsa. Waktu kedaluwarsa saat ini tidak diberlakukan.

[in] Identifier

Pengidentifikasi spesifik manajer sumber daya. Parameter ini saat ini tidak digunakan.

[in, optional] DynamicGroupArgs

Pointer ke parameter yang akan diteruskan ke fungsi panggilan balik yang menghitung grup dinamis. Parameter ini dapat berupa NULL jika tidak ada parameter dinamis yang diteruskan ke fungsi panggilan balik.

Dimulai dengan Windows 8 dan Windows Server 2012, parameter ini harus NULL jika manajer sumber daya jarak jauh. Jika tidak, ERROR_NOT_SUPPORTED akan diatur.

[out] phAuthzClientContext

Penunjuk ke handel ke konteks klien yang dibuat oleh fungsi AuthzInitializeContextFromSid . Setelah Anda selesai menggunakan handel, bebaskan dengan memanggil fungsi AuthzFreeContext .

Mengembalikan nilai

Jika fungsi berhasil, fungsi mengembalikan bukan nol.

Jika fungsi gagal, fungsi akan mengembalikan nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Jika memungkinkan, panggil fungsi AuthzInitializeContextFromTokenalih-alih AuthzInitializeContextFromSid. AuthzInitializeContextFromSid mencoba mengambil informasi yang tersedia dalam token masuk yang benar-benar masuk oleh klien. 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 AuthzInitializeContextFromToken menggunakan token masuk, dan konteks klien yang dihasilkan lebih lengkap dan akurat daripada konteks klien yang dibuat oleh AuthzInitializeContextFromSid.

Fungsi ini hanya menyelesaikan SID pengguna yang valid.

Windows XP: Fungsi ini menyelesaikan keanggotaan grup untuk SID pengguna dan grup yang valid (kecuali bendera AUTHZ_SKIP_TOKEN_GROUPS digunakan). Dukungan untuk menyelesaikan keanggotaan SID grup dapat diubah atau tidak tersedia dalam versi berikutnya.

Fungsi ini memanggil fungsi panggilan balik AuthzComputeGroupsCallback untuk menambahkan SID ke konteks yang baru dibuat.

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. Saat domain baru dibuat, pilihan kompatibilitas akses default adalah Izin yang kompatibel dengan sistem operasi Windows 2000 dan Windows Server 2003. Ketika opsi ini diatur, grup Akses Kompatibel Pra-Windows 2000 hanya menyertakan pengidentifikasi keamanan bawaan Pengguna Terautentikasi . 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.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header authz.h
Pustaka Authz.lib
DLL Authz.dll
Redistribusi Paket Alat Administrasi Windows Server 2003 di Windows XP

Lihat juga

Memperbolehkan Akses Anonim

AuthzFreeContext

Fungsi Access Control Dasar