Aracılığıyla paylaş


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

CAcl

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

rSid
CSid nesnesi.

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