Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aplikasi dapat menambahkan pengidentifikasi keamanan (SID) ke konteks klien yang ada dengan memanggil fungsiAuthzAddSidsToContext. FungsiAuthzAddSidsToContext memungkinkan aplikasi menentukan daftar SID dan daftar membatasi SID ke konteks klien yang ditentukan.
Sistem menggunakan daftar pembatasan SID saat memeriksa akses token ke objek yang dapat diamankan. Ketika proses atau thread yang dibatasi mencoba mengakses objek yang dapat diamankan, sistem melakukan dua pemeriksaan akses: satu menggunakan SID yang diaktifkan token, dan lainnya menggunakan daftar SID pembatas. Akses diberikan hanya jika kedua pemeriksaan akses mengizinkan hak akses yang diminta.
Variabel atribut harus dalam bentuk ekspresi saat digunakan dengan operator logis; jika tidak, mereka dievaluasi sebagai tidak diketahui.
Contoh
Contoh berikut menambahkan SID dan SID pembatasan ke konteks klien yang dibuat oleh contoh di Menginisialisasi Konteks Klien.
BOOL AddSidsToContext(AUTHZ_CLIENT_CONTEXT_HANDLE *phClientContext)
{
AUTHZ_CLIENT_CONTEXT_HANDLE NewContext = NULL;
PSID pEveryoneSid = NULL;
PSID pLocalSid = NULL;
SID_AND_ATTRIBUTES Sids;
SID_AND_ATTRIBUTES RestrictedSids;
DWORD SidCount = 0;
DWORD RestrictedSidCount = 0;
//Create a PSID from the "Everyone" well-known SID.
if(!ConvertStringSidToSid(L"S-1-1-0", &pEveryoneSid))
{
printf_s("ConvertStringSidToSid failed with %d\n", GetLastError());
return FALSE;
}
//Create a PSID from the "Local" well-known SID.
if(!ConvertStringSidToSid(L"S-1-2-0", &pLocalSid))
{
printf_s("ConvertStringSidToSid failed with %d\n", GetLastError);
return FALSE;
}
//Set the members of the SID_AND_ATTRIBUTES structure to be added.
Sids.Sid = pEveryoneSid;
Sids.Attributes = SE_GROUP_ENABLED;
//Set the members of the SID_AND_ATTRIBUTES structure for the restricting SID.
RestrictedSids.Sid = pLocalSid;
RestrictedSids.Attributes = SE_GROUP_ENABLED;
//Create a new context with the new "Everyone" SID and "Local" restricting SID.
if(!AuthzAddSidsToContext(
*phClientContext,
&Sids,
1,
&RestrictedSids,
1,
&NewContext))
{
printf_s("AuthzAddSidsToContext failed with %d\n", GetLastError());
if(pEveryoneSid)
{
FreeSid(pEveryoneSid);
}
if(pLocalSid)
{
FreeSid(pLocalSid);
}
return FALSE;
}
if(pEveryoneSid)
{
FreeSid(pEveryoneSid);
}
if(pLocalSid)
{
FreeSid(pLocalSid);
}
AuthzFreeContext(*phClientContext);
*phClientContext = NewContext;
return TRUE;
}
Topik terkait
-
Melakukan Kueri Konteks Klien