Bagikan melalui


Kelas CAcl

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.

Lihat juga

Gambaran Umum Kelas
Fungsi Global Keamanan