Kelas CDacl
Kelas ini adalah pembungkus untuk struktur DACL (daftar kontrol akses diskresi).
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CDacl : public CAcl
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CDacl::CDacl | Konstruktor. |
CDacl::~CDacl | Destruktor. |
Metode Publik
Nama | Deskripsi |
---|---|
CDacl::AddAllowedAce | Menambahkan ACE yang diizinkan (entri kontrol akses) ke CDacl objek. |
CDacl::AddDeniedAce | Menambahkan ACE yang ditolak ke CDacl objek. |
CDacl::GetAceCount | Mengembalikan jumlah ACE (entri kontrol akses) dalam CDacl objek. |
CDacl::RemoveAce | Menghapus ACE tertentu (entri kontrol akses) dari CDacl objek. |
CDacl::RemoveAllAces | Menghapus semua ACE yang terkandung dalam CDacl objek . |
Operator Publik
Nama | Deskripsi |
---|---|
CDacl::operator = | Operator penugasan. |
Keterangan
Deskriptor keamanan objek dapat berisi DACL. DACL berisi nol atau lebih ACE (entri kontrol akses) yang mengidentifikasi pengguna dan grup yang dapat mengakses objek. Jika DACL kosong (artinya, dacl berisi aCE nol), tidak ada akses yang diberikan secara eksplisit, sehingga akses ditolak secara implisit. Namun, jika deskriptor keamanan objek tidak memiliki DACL, objek tidak terlindungi dan semua orang memiliki akses lengkap.
Untuk mengambil DACL objek, Anda harus menjadi pemilik objek atau memiliki akses READ_CONTROL ke objek. Untuk mengubah DACL objek, Anda harus memiliki akses WRITE_DAC ke objek.
Gunakan metode kelas yang disediakan untuk membuat, menambahkan, menghapus, dan menghapus ACE dari CDacl
objek. Lihat juga AtlGetDacl dan AtlSetDacl.
Untuk pengenalan model kontrol akses di Windows, lihat Kontrol Akses di Windows SDK.
Hierarki Warisan
CDacl
Persyaratan
Header: atlsecurity.h
CDacl::AddAllowedAce
Menambahkan ACE yang diizinkan (entri kontrol akses) ke CDacl
objek.
bool AddAllowedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags = 0) throw(...);
bool AddAllowedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags,
const GUID* pObjectType,
const GUID* pInheritedObjectType) throw(...);
Parameter
rSid
Objek CSid .
AccessMask
Menentukan masker hak akses yang akan diizinkan untuk objek yang ditentukan CSid
.
AceFlags
Sekumpulan bendera bit yang mengontrol pewarisan ACE.
pObjectType
Jenis objek.
pInheritedObjectType
Jenis objek yang diwariskan.
Tampilkan Nilai
Mengembalikan TRUE jika ACE ditambahkan ke CDacl
objek, FALSE pada kegagalan.
Keterangan
Objek CDacl
berisi nol atau lebih ACE (entri kontrol akses) yang mengidentifikasi pengguna dan grup yang dapat mengakses objek. Metode ini menambahkan ACE yang memungkinkan akses ke CDacl
objek.
Lihat ACE_HEADER untuk deskripsi berbagai bendera yang dapat diatur dalam AceFlags
parameter.
CDacl::AddDeniedAce
Menambahkan ACE yang ditolak (entri kontrol akses) ke CDacl
objek.
bool AddDeniedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags = 0) throw(...);
bool AddDeniedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags,
const GUID* pObjectType,
const GUID* pInheritedObjectType) throw(...);
Parameter
rSid
Objek CSid
.
AccessMask
Menentukan masker hak akses yang akan ditolak untuk objek yang ditentukan CSid
.
AceFlags
Sekumpulan bendera bit yang mengontrol pewarisan ACE. Default ke 0 dalam bentuk pertama metode .
pObjectType
Jenis objek.
pInheritedObjectType
Jenis objek yang diwariskan.
Tampilkan Nilai
Mengembalikan TRUE jika ACE ditambahkan ke CDacl
objek, FALSE pada kegagalan.
Keterangan
Objek CDacl
berisi nol atau lebih ACE (entri kontrol akses) yang mengidentifikasi pengguna dan grup yang dapat mengakses objek. Metode ini menambahkan ACE yang menolak akses ke CDacl
objek.
Lihat ACE_HEADER untuk deskripsi berbagai bendera yang dapat diatur dalam AceFlags
parameter.
CDacl::CDacl
Konstruktor.
CDacl (const ACL& rhs) throw(...);
CDacl () throw();
Parameter
rhs
Struktur (daftar kontrol akses) yang ACL
sudah ada.
Keterangan
Objek CDacl
dapat dibuat secara opsional menggunakan struktur yang ada ACL
. Penting untuk dicatat bahwa hanya DACL (daftar kontrol akses diskresi), dan bukan SACL (daftar kontrol akses sistem), yang harus diteruskan sebagai parameter ini. Dalam build debug, melewati SACL akan menyebabkan ASSERT. Dalam build rilis, meneruskan SACL akan menyebabkan ACE (entri kontrol akses) dalam ACL diabaikan, dan tidak ada kesalahan yang akan terjadi.
CDacl::~CDacl
Destruktor.
~CDacl () throw();
Keterangan
Destruktor membebaskan sumber daya apa pun yang diperoleh oleh objek, termasuk semua ACE (entri kontrol akses) menggunakan CDacl::RemoveAllAces.
CDacl::GetAceCount
Mengembalikan jumlah ACE (entri kontrol akses) dalam CDacl
objek.
UINT GetAceCount() const throw();
Tampilkan Nilai
Mengembalikan jumlah ACE yang terkandung dalam CDacl
objek.
CDacl::operator =
Operator penugasan.
CDacl& operator= (const ACL& rhs) throw(...);
Parameter
rhs
ACL (daftar kontrol akses) untuk ditetapkan ke objek yang ada.
Tampilkan Nilai
Mengembalikan referensi ke objek yang diperbarui CDacl
.
Keterangan
Anda harus memastikan bahwa Anda hanya meneruskan DACL (daftar kontrol akses diskresi) ke fungsi ini. Meneruskan SACL (daftar kontrol akses sistem) ke fungsi ini akan menyebabkan ASSERT dalam build debug tetapi tidak akan menyebabkan kesalahan dalam build rilis.
CDacl::RemoveAce
Menghapus ACE tertentu (entri kontrol akses) dari CDacl
objek.
void RemoveAce(UINT nIndex) throw();
Parameter
nIndex
Indeks ke entri ACE untuk dihapus.
Keterangan
Metode ini berasal dari CAtlArray::RemoveAt.
CDacl::RemoveAllAces
Menghapus semua ACE (entri kontrol akses) yang terkandung dalam CDacl
objek.
void RemoveAllAces() throw();
Keterangan
Menghapus setiap ACE
struktur (entri kontrol akses) (jika ada) dalam CDacl
objek.
Lihat juga
Sampel Keamanan
Kelas CAcl
Acls
Aces
Gambaran Umum Kelas
Fungsi Global Keamanan