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.
Kelas ini adalah pembungkus untuk ACL struktur (daftar kontrol akses).
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CAcl
Anggota
Typedef Publik
| Nama | Deskripsi |
|---|---|
| CAcl::CAccessMaskArray | An array of ACCESS_MASKs. |
| CAcl::CAceFlagArray | An array of BYTEs. |
| CAcl::CAceTypeArray | An array of BYTEs. |
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| CAcl::CAcl | Konstruktor. |
| CAcl::~CAcl | Destruktor. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| CAcl::GetAceCount | Mengembalikan jumlah objek entri kontrol akses (ACE). |
| CAcl::GetAclEntries | Mengambil entri daftar kontrol akses (ACL) dari CAcl objek. |
| CAcl::GetAclEntry | Mengambil semua informasi tentang entri dalam objek CAcl . |
| CAcl::GetLength | Mengembalikan panjang ACL. |
| CAcl::GetPACL | Mengembalikan PACL (penunjuk ke ACL). |
| CAcl::IsEmpty | CAcl Menguji objek untuk entri. |
| CAcl::IsNull | Mengembalikan status CAcl objek. |
| CAcl::RemoveAce | Menghapus ACE tertentu (entri kontrol akses) dari CAcl objek. |
| CAcl::RemoveAces | Menghapus semua ACE (entri kontrol akses) dari CAcl yang berlaku untuk CSid. |
| CAcl::SetEmpty | CAcl Menandai objek sebagai kosong. |
| CAcl::SetNull | CAcl Menandai objek sebagai NULL. |
Operator Publik
| Nama | Deskripsi |
|---|---|
| CAcl::operator const ACL * | Melemparkan CAcl objek ke ACL struktur. |
| CAcl::operator = | Operator penugasan. |
Keterangan
Struktur ACL adalah header ACL (daftar kontrol akses). ACL menyertakan daftar berurutan nol atau lebih ACE (entri kontrol akses). ACL individu dalam ACL diberi nomor dari 0 hingga n-1, di mana n adalah jumlah ACL dalam ACL. Saat mengedit ACL, aplikasi mengacu pada entri kontrol akses (ACE) dalam ACL oleh indeksnya.
Ada dua jenis ACL:
Diskretional
Sistem
ACL diskresi dikendalikan oleh pemilik objek atau siapa pun yang diberikan WRITE_DAC akses ke objek. Ini menentukan akses pengguna dan grup tertentu dapat memiliki objek. Misalnya, pemilik file dapat menggunakan ACL diskresi untuk mengontrol pengguna dan grup mana yang dapat dan tidak dapat memiliki akses ke file.
Objek juga dapat memiliki informasi keamanan tingkat sistem yang terkait dengannya, dalam bentuk sistem ACL yang dikendalikan oleh administrator sistem. ACL sistem dapat memungkinkan administrator sistem untuk mengaudit upaya apa pun untuk mendapatkan akses ke objek.
Untuk detail selengkapnya, lihat diskusi ACL di Windows SDK.
Untuk pengenalan model kontrol akses di Windows, lihat Kontrol Akses di Windows SDK.
Persyaratan
Header: atlsecurity.h
CAcl::CAccessMaskArray
Array objek ACCESS_MASK.
typedef CAtlArray<ACCESS_MASK> CAccessMaskArray;
Keterangan
Typedef ini menentukan jenis array yang dapat digunakan untuk menyimpan hak akses yang digunakan dalam entri kontrol akses (ACE).
CAcl::CAceFlagArray
An array of BYTEs.
typedef CAtlArray<BYTE> CAceFlagArray;
Keterangan
Typedef ini menentukan jenis array yang digunakan untuk menentukan bendera kontrol khusus jenis entri kontrol akses (ACE). Lihat definisi ACE_HEADER untuk daftar lengkap bendera yang mungkin.
CAcl::CAceTypeArray
An array of BYTEs.
typedef CAtlArray<BYTE> CAceTypeArray;
Keterangan
Typedef ini menentukan jenis array yang digunakan untuk menentukan sifat objek entri kontrol akses (ACE), seperti ACCESS_ALLOWED_ACE_TYPE atau ACCESS_DENIED_ACE_TYPE. Lihat definisi ACE_HEADER untuk daftar lengkap jenis yang mungkin.
CAcl::CAcl
Konstruktor.
CAcl() throw();
CAcl(const CAcl& rhs) throw(...);
Parameter
rhs
Objek yang CAcl sudah ada.
Keterangan
Objek CAcl dapat dibuat secara opsional menggunakan objek yang ada CAcl .
CAcl::~CAcl
Destruktor.
virtual ~CAcl() throw();
Keterangan
Destruktor membebaskan sumber daya apa pun yang diperoleh oleh objek.
CAcl::GetAceCount
Mengembalikan jumlah objek entri kontrol akses (ACE).
virtual UINT GetAceCount() const throw() = 0;
Tampilkan Nilai
Mengembalikan jumlah entri ACE dalam CAcl objek.
CAcl::GetAclEntries
Mengambil entri daftar kontrol akses (ACL) dari CAcl objek.
void GetAclEntries(
CSid::CSidArray* pSids,
CAccessMaskArray* pAccessMasks = NULL,
CAceTypeArray* pAceTypes = NULL,
CAceFlagArray* pAceFlags = NULL) const throw(...);
Parameter
pSids
Penunjuk ke array objek CSid .
pAccessMasks
Akses masker.
pAceTypes
Jenis entri kontrol akses (ACE).
pAceFlags
Bendera ACE.
Keterangan
Metode ini mengisi parameter array dengan detail setiap objek ACE yang terkandung dalam CAcl objek. Gunakan NULL saat detail untuk array tertentu tersebut tidak diperlukan.
Konten setiap array sesuai satu sama lain, yaitu, elemen pertama dari CAccessMaskArray array sesuai dengan elemen pertama dalam CSidArray array, dan sebagainya.
Lihat ACE_HEADER untuk detail selengkapnya tentang jenis dan bendera ACE.
CAcl::GetAclEntry
Mengambil semua informasi tentang entri dalam daftar kontrol akses (ACL).
void GetAclEntry(
UINT nIndex,
CSid* pSid,
ACCESS_MASK* pMask = NULL,
BYTE* pType = NULL,
BYTE* pFlags = NULL,
GUID* pObjectType = NULL,
GUID* pInheritedObjectType = NULL) const throw(...);
Parameter
nIndex
Indeks ke entri ACL untuk diambil.
pSid
Objek CSid tempat entri ACL diterapkan.
pMask
Masker yang menentukan izin untuk memberikan atau menolak akses.
pType
Jenis ACE.
pFlags
Bendera ACE.
pObjectType
Jenis objek. Ini akan diatur ke GUID_NULL jika jenis objek tidak ditentukan dalam ACE, atau jika ACE bukan OBJECT ACE.
pInheritedObjectType
Jenis objek yang diwariskan. Ini akan diatur ke GUID_NULL jika jenis objek yang diwariskan tidak ditentukan dalam ACE, atau jika ACE bukan OBJECT ACE.
Keterangan
Metode ini akan mengambil semua informasi tentang ACE individu, memberikan lebih banyak informasi daripada CAcl::GetAclEntries saja yang tersedia.
Lihat ACE_HEADER untuk detail selengkapnya tentang jenis dan bendera ACE.
CAcl::GetLength
Mengembalikan panjang daftar kontrol akses (ACL).
UINT GetLength() const throw();
Tampilkan Nilai
Mengembalikan panjang yang diperlukan dalam byte yang diperlukan untuk menahan ACL struktur.
CAcl::GetPACL
Mengembalikan penunjuk ke daftar kontrol akses (ACL).
const ACL* GetPACL() const throw(...);
Tampilkan Nilai
Mengembalikan penunjuk ke ACL struktur.
CAcl::IsEmpty
CAcl Menguji objek untuk entri.
bool IsEmpty() const throw();
Keterangan
Mengembalikan TRUE jika CAcl objek bukan NULL, dan tidak berisi entri. Mengembalikan FALSE jika CAcl objek adalah NULL, atau berisi setidaknya satu entri.
CAcl::IsNull
Mengembalikan status CAcl objek.
bool IsNull() const throw();
Tampilkan Nilai
Mengembalikan TRUE jika CAcl objek adalah NULL, FALSE jika tidak.
CAcl::operator const ACL *
Melemparkan CAcl objek ke ACL struktur (daftar kontrol akses).
operator const ACL *() const throw(...);
Keterangan
Mengembalikan alamat ACL struktur.
CAcl::operator =
Operator penugasan.
CAcl& operator= (const CAcl& rhs) throw(...);
Parameter
rhs
CAcl untuk menetapkan ke objek yang ada.
Tampilkan Nilai
Mengembalikan referensi ke objek yang diperbarui CAcl .
CAcl::RemoveAce
Menghapus ACE tertentu (entri kontrol akses) dari CAcl objek.
void RemoveAce(UINT nIndex) throw();
Parameter
nIndex
Indeks ke entri ACE untuk dihapus.
Keterangan
Metode ini berasal dari CAtlArray::RemoveAt.
CAcl::RemoveAces
Menghapus semua ACE (entri kontrol akses) dari CAcl yang berlaku untuk CSid.
bool RemoveAces(const CSid& rSid) throw(...)
Parameter
rSid
Referensi ke CSid objek.
CAcl::SetEmpty
CAcl Menandai objek sebagai kosong.
void SetEmpty() throw();
Keterangan
CAcl dapat diatur ke kosong atau ke NULL: kedua status berbeda.
CAcl::SetNull
CAcl Menandai objek sebagai NULL.
void SetNull() throw();
Keterangan
CAcl dapat diatur ke kosong atau ke NULL: kedua status berbeda.