CDacl Sınıfı
Bu sınıf, bir DACL (isteğe bağlı erişim-denetim listesi) yapısı için sarmalayıcıdır.
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
class CDacl : public CAcl
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CDacl::CDacl | Oluşturucu. |
CDacl::~CDacl | Yok edici. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CDacl::AddAllowedAce | Nesneye izin verilen bir ACE (erişim denetimi girdisi CDacl ) ekler. |
CDacl::AddDeniedAce | Nesneye CDacl reddedilen bir ACE ekler. |
CDacl::GetAceCount | Nesnedeki ACL'lerin (erişim denetimi girdileri) CDacl sayısını döndürür. |
CDacl::RemoveAce | Nesneden belirli bir ACE'yi (erişim denetimi girdisi CDacl ) kaldırır. |
CDacl::RemoveAllAces | Nesnede bulunan tüm ACL'leri CDacl kaldırır. |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
CDacl::operator = | Atama işleci. |
Açıklamalar
Bir nesnenin güvenlik tanımlayıcısı bir DACL içerebilir. DACL, nesneye erişebilen kullanıcıları ve grupları tanımlayan sıfır veya daha fazla ACL (erişim denetimi girdisi) içerir. Bir DACL boşsa (yani sıfır ACL içeriyorsa), açıkça erişim verilmez, bu nedenle erişim örtük olarak reddedilir. Ancak, bir nesnenin güvenlik tanımlayıcısı DACL'ye sahip değilse, nesne korumasızdır ve herkesin tam erişimi vardır.
Bir nesnenin DACL'sini almak için nesnenin sahibi olmanız veya nesneye READ_CONTROL erişiminiz olmalıdır. Bir nesnenin DACL'sini değiştirmek için nesneye WRITE_DAC erişiminiz olmalıdır.
Nesneden CDacl
ACL oluşturmak, eklemek, kaldırmak ve silmek için sağlanan sınıf yöntemlerini kullanın. Ayrıca bkz. AtlGetDacl ve AtlSetDacl.
Windows'ta erişim denetimi modeline giriş için bkz . Windows SDK'sında Erişim Denetimi .
Devralma Hiyerarşisi
CDacl
Gereksinimler
Üst bilgi: atlsecurity.h
CDacl::AddAllowedAce
Nesneye izin verilen bir ACE (erişim denetimi girdisi CDacl
) ekler.
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(...);
Parametreler
AccessMask
Belirtilen CSid
nesne için izin verilen erişim haklarının maskesini belirtir.
AceFlags
ACE devralmayı denetleen bit bayrakları kümesi.
pObjectType
Nesne türü.
pInheritedObjectType
Devralınan nesne türü.
Dönüş Değeri
ACE nesnesine CDacl
eklenirse TRUE, hata durumunda YANLIŞ döndürür.
Açıklamalar
Nesne CDacl
, nesneye erişebilen kullanıcıları ve grupları tanımlayan sıfır veya daha fazla ACL (erişim denetimi girdisi) içerir. Bu yöntem nesneye CDacl
erişime izin veren bir ACE ekler.
parametresinde AceFlags
ayarlanabilen çeşitli bayrakların açıklaması için bkz. ACE_HEADER.
CDacl::AddDeniedAce
Nesneye reddedilen bir ACE (erişim denetimi girdisi CDacl
) ekler.
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(...);
Parametreler
rSid
Bir CSid
nesnesi.
AccessMask
Belirtilen CSid
nesne için reddedilecek erişim haklarının maskesini belirtir.
AceFlags
ACE devralmayı denetleen bit bayrakları kümesi. Yöntemin ilk biçiminde varsayılan olarak 0'dır.
pObjectType
Nesne türü.
pInheritedObjectType
Devralınan nesne türü.
Dönüş Değeri
ACE nesnesine CDacl
eklenirse TRUE, hata durumunda YANLIŞ döndürür.
Açıklamalar
Nesne CDacl
, nesneye erişebilen kullanıcıları ve grupları tanımlayan sıfır veya daha fazla ACL (erişim denetimi girdisi) içerir. Bu yöntem nesneye CDacl
erişimi reddeden bir ACE ekler.
parametresinde AceFlags
ayarlanabilen çeşitli bayrakların açıklaması için bkz. ACE_HEADER.
CDacl::CDacl
Oluşturucu.
CDacl (const ACL& rhs) throw(...);
CDacl () throw();
Parametreler
Rhs
Mevcut ACL
bir (erişim denetimi listesi) yapısı.
Açıklamalar
CDacl
Nesnesi isteğe bağlı olarak mevcut ACL
bir yapı kullanılarak oluşturulabilir. Bu parametre olarak sacl (sistem erişim-denetim listesi) değil, yalnızca bir DACL (isteğe bağlı erişim-denetim listesi) geçirilmesi gerektiğini unutmayın. Hata ayıklama derlemelerinde, BIR SACL geçirmek bir ASSERT'a neden olur. Yayın derlemelerinde, bir SACL geçirmek ACL'deki ACL'lerin (erişim denetimi girdileri) yoksayılmasına neden olur ve hiçbir hata oluşmaz.
CDacl::~CDacl
Yok edici.
~CDacl () throw();
Açıklamalar
Yıkıcı, CDacl::RemoveAllAces kullanarak tüm ACL'ler (erişim denetimi girdileri) dahil olmak üzere nesne tarafından alınan tüm kaynakları serbest kaldırır.
CDacl::GetAceCount
Nesnedeki ACL'lerin (erişim denetimi girdileri) CDacl
sayısını döndürür.
UINT GetAceCount() const throw();
Dönüş Değeri
Nesnede CDacl
bulunan ACL sayısını döndürür.
CDacl::operator =
Atama işleci.
CDacl& operator= (const ACL& rhs) throw(...);
Parametreler
Rhs
Mevcut nesneye atanacak ACL (erişim denetimi listesi).
Dönüş Değeri
Güncelleştirilmiş CDacl
nesneye bir başvuru döndürür.
Açıklamalar
Bu işleve yalnızca bir DACL (isteğe bağlı erişim denetimi listesi) geçirmeniz gerekir. Bu işleve bir SACL (sistem erişim-denetim listesi) geçirilmesi, hata ayıklama derlemelerinde BIR ASSERT'a neden olur, ancak yayın derlemelerinde hataya neden olmaz.
CDacl::RemoveAce
Nesneden belirli bir ACE'yi (erişim denetimi girdisi CDacl
) kaldırır.
void RemoveAce(UINT nIndex) throw();
Parametreler
nIndex
Kaldırılacak ACE girdisine dizin oluşturun.
Açıklamalar
Bu yöntem CAtlArray::RemoveAt dosyasından türetilir.
CDacl::RemoveAllAces
Nesnede bulunan CDacl
tüm ACL'leri (erişim denetimi girdileri) kaldırır.
void RemoveAllAces() throw();
Açıklamalar
Nesnedeki (varsa) her ACE
(erişim denetimi girdisi CDacl
) yapısını kaldırır.
Ayrıca bkz.
Güvenlik Örneği
CAcl Sınıfı
Acl
Ace
Sınıfa Genel Bakış
Güvenlik Genel İşlevleri