Classe CSacl
Questa classe è un wrapper per una struttura SACL (system access-control list).
Importante
Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.
Sintassi
class CSacl : public CAcl
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CSacl::CSacl | Costruttore. |
CSacl::~CSacl | Distruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CSacl::AddAuditAce | Aggiunge una voce di controllo di accesso (ACE) all'oggetto CSacl . |
CSacl::GetAceCount | Restituisce il numero di voci di controllo di accesso (ACL) nell'oggetto CSacl . |
CSacl::RemoveAce | Rimuove un ace specifico (voce di controllo di accesso) dall'oggetto CSacl . |
CSacl::RemoveAllAces | Rimuove tutti gli ACL contenuti nell'oggetto CSacl . |
Operatori pubblici
Nome | Descrizione |
---|---|
CSacl::operator = | Operatore di assegnazione. |
Osservazioni:
Un sacl contiene voci di controllo di accesso (ACL) che specificano i tipi di tentativi di accesso che generano record di controllo nel registro eventi di sicurezza di un controller di dominio. Si noti che un sacl genera voci di log solo nel controller di dominio in cui si è verificato il tentativo di accesso, non in ogni controller di dominio che contiene una replica dell'oggetto.
Per impostare o recuperare sacl nel descrittore di sicurezza di un oggetto, il privilegio SE_SECURITY_NAME deve essere abilitato nel token di accesso del thread richiedente. Il gruppo administrators ha questo privilegio concesso per impostazione predefinita e può essere concesso ad altri utenti o gruppi. Avere concesso il privilegio non è tutto ciò che è necessario: prima che l'operazione definita dal privilegio possa essere eseguita, il privilegio deve essere abilitato nel token di accesso di sicurezza per rendere effettivo. Il modello consente l'abilitazione dei privilegi solo per operazioni di sistema specifiche e quindi disabilitate quando non sono più necessarie. Per esempi di abilitazione di SE_SECURITY_NAME, vedere AtlGetSacl e AtlSetSacl .
Usare i metodi di classe forniti per aggiungere, rimuovere, creare ed eliminare gli ACL dall'oggetto SACL
. Vedere anche AtlGetSacl e AtlSetSacl.
Per un'introduzione al modello di controllo di accesso in Windows, vedere Controllo di accesso in Windows SDK.
Gerarchia di ereditarietà
CSacl
Requisiti
Intestazione: atlsecurity.h
CSacl::AddAuditAce
Aggiunge una voce di controllo di accesso (ACE) all'oggetto CSacl
.
bool AddAuditAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
bool bSuccess,
bool bFailure,
BYTE AceFlags = 0) throw(...);
bool AddAuditAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
bool bSuccess,
bool bFailure,
BYTE AceFlags,
const GUID* pObjectType,
const GUID* pInheritedObjectType) throw(...);
Parametri
rSid
Oggetto CSid .
Maschera di accesso
Specifica la maschera dei diritti di accesso da controllare per l'oggetto specificato CSid
.
bSuccess
Specifica se i tentativi di accesso consentiti devono essere controllati. Impostare questo flag su true per abilitare il controllo; in caso contrario, impostarlo su false.
bFailure
Specifica se i tentativi di accesso negato devono essere controllati. Impostare questo flag su true per abilitare il controllo; in caso contrario, impostarlo su false.
AceFlags
Set di flag di bit che controllano l'ereditarietà ACE.
pObjectType
Tipo dell'oggetto.
pInheritedObjectType
Tipo di oggetto ereditato.
Valore restituito
Restituisce TRUE se l'ace viene aggiunto all'oggetto CSacl
, FALSE in caso di errore.
Osservazioni:
Un CSacl
oggetto contiene voci di controllo di accesso (ACL) che specificano i tipi di tentativi di accesso che generano record di controllo nel registro eventi di sicurezza. Questo metodo aggiunge tale ace all'oggetto CSacl
.
Vedere ACE_HEADER per una descrizione dei vari flag che possono essere impostati nel parametro AceFlags .
CSacl::CSacl
Costruttore.
CSacl() throw();
CSacl(const ACL& rhs) throw(...);
Parametri
rhs
Struttura esistente ACL
(elenco di controllo di accesso).
Osservazioni:
L'oggetto CSacl
può essere creato facoltativamente utilizzando una struttura esistente ACL
. Assicurarsi che questo parametro sia un elenco di controllo di accesso di sistema (SACL) e non un elenco di controllo di accesso discrezionale (DACL). Nelle compilazioni di debug, se viene fornita un'asserzione DACL, si verificherà un'asserzione. Nelle build di rilascio tutte le voci di un daCL vengono ignorate.
CSacl::~CSacl
Distruttore.
~CSacl() throw();
Osservazioni:
Il distruttore libera tutte le risorse acquisite dall'oggetto, incluse tutte le voci di controllo di accesso (ACL).
CSacl::GetAceCount
Restituisce il numero di voci di controllo di accesso (ACL) nell'oggetto CSacl
.
UINT GetAceCount() const throw();
Valore restituito
Restituisce il numero di ACL contenuti nell'oggetto CSacl
.
CSacl::operator =
Operatore di assegnazione.
CSacl& operator=(const ACL& rhs) throw(...);
Parametri
rhs
Oggetto ACL
(elenco di controllo di accesso) da assegnare all'oggetto esistente.
Valore restituito
Restituisce un riferimento all'oggetto aggiornato CSacl
. Assicurarsi che il ACL
parametro sia effettivamente un elenco di controllo di accesso di sistema (SACL) e non un elenco di controllo di accesso discrezionale (DACL). Nelle compilazioni di debug si verificherà un'asserzione e nelle build di rilascio il ACL
parametro verrà ignorato.
CSacl::RemoveAce
Rimuove un ace specifico (voce di controllo di accesso) dall'oggetto CSacl
.
void RemoveAce(UINT nIndex) throw();
Parametri
nIndex
Indicizzare la voce ACE da rimuovere.
Osservazioni:
Questo metodo è derivato da CAtlArray::RemoveAt.
CSacl::RemoveAllAces
Rimuove tutte le voci di controllo di accesso (ACL) contenute nell'oggetto CSacl
.
void RemoveAllAces() throw();
Osservazioni:
Rimuove ogni ACE
struttura (se presente) nell'oggetto CSacl
.
Vedi anche
Classe CAcl
Acl
Assi
Cenni preliminari sulla classe
Funzioni globali di sicurezza