Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Esta classe é um wrapper para uma estrutura SACL (lista de controlo de acesso ao sistema).
Importante
Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.
Sintaxe
class CSacl : public CAcl
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CSacl::CSacl | O construtor. |
| CSacl::~CSacl | O destruidor. |
Métodos Públicos
| Nome | Description |
|---|---|
| CSacl::AddAuditAce | Adiciona uma entrada de controlo de acesso de auditoria (ACE) ao CSacl objeto. |
| CSacl::GetAceCount | Devolve o número de entradas de controlo de acesso (ACEs) no CSacl objeto. |
| CSacl::RemoveAce | Remove uma ACE específica (entrada de controlo de acesso) do CSacl objeto. |
| CSacl::RemoveAllAces | Remove todos os ACEs contidos no CSacl objeto. |
Operadores Públicos
| Nome | Description |
|---|---|
| CSacl::operator = | Operador de atribuição. |
Observações
Um SACL contém entradas de controlo de acesso (ACEs) que especificam os tipos de tentativas de acesso que geram registos de auditoria no registo de eventos de segurança de um controlador de domínio. Note que um SACL gera entradas de registo apenas no controlador de domínio onde ocorreu a tentativa de acesso, e não em todos os controladores de domínio que contenham uma réplica do objeto.
Para definir ou recuperar o SACL no descritor de segurança de um objeto, o privilégio SE_SECURITY_NAME deve estar ativado no token de acesso da thread solicitante. O grupo de administradores tem este privilégio concedido por defeito, e pode ser concedido a outros utilizadores ou grupos. Ter o privilégio concedido não é tudo o que é necessário: antes de a operação definida pelo privilégio poder ser realizada, o privilégio deve estar ativado no token de acesso de segurança para que tenha efeito. O modelo permite que privilégios sejam ativados apenas para operações específicas do sistema, e depois desativados quando deixam de ser necessários. Veja AtlGetSacl e AtlSetSacl para exemplos de ativação de SE_SECURITY_NAME.
Use os métodos de classe fornecidos para adicionar, remover, criar e eliminar ACEs do SACL objeto. Ver também AtlGetSacl e AtlSetSacl.
Para uma introdução ao modelo de controlo de acesso no Windows, veja Controlo de Acesso no SDK do Windows.
Hierarquia de herança
CSacl
Requerimentos
Cabeçalho: atlsecurity.h
CSacl::AddAuditAce
Adiciona uma entrada de controlo de acesso de auditoria (ACE) ao CSacl objeto.
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(...);
Parâmetros
rSid
O objeto CSid .
AccessMask
Especifica a máscara dos direitos de acesso a ser auditada para o objeto especificado CSid .
bSucesso
Especifica se as tentativas de acesso permitidas devem ser auditadas. Defina este flag como true para permitir a auditoria; caso contrário, define-o como falso.
bFalha
Especifica se as tentativas de acesso negadas devem ser auditadas. Defina este flag como true para permitir a auditoria; caso contrário, define-o como falso.
AceFlags
Um conjunto de flags de bits que controlam a herança ACE.
pObjectType
O tipo de objeto.
pInheritedObjectType
O tipo de objeto herdado.
Valor de retorno
Retorna TRUE se o ACE for adicionado ao CSacl objeto, FALSE em caso de falha.
Observações
Um objeto contém entradas de controlo de acesso (ACEs) que especificam os tipos de tentativas de acesso que geram registos CSacl de auditoria no registo de eventos de segurança. Este método adiciona tal ACE ao CSacl objeto.
Veja ACE_HEADER para uma descrição das várias bandeiras que podem ser definidas no parâmetro AceFlags .
CSacl::CSacl
O construtor.
CSacl() throw();
CSacl(const ACL& rhs) throw(...);
Parâmetros
RHS
Uma estrutura existente ACL (lista de controlo de acesso).
Observações
O CSacl objeto pode ser criado opcionalmente usando uma estrutura existente ACL . Certifique-se de que este parâmetro é uma lista de controlo de acesso do sistema (SACL) e não uma lista de controlo de acesso discricionária (DACL). Em builds de depuração, se for fornecido um DACL, ocorrerá uma asserção. Nas versões de lançamento, quaisquer entradas de um DACL são ignoradas.
CSacl::~CSacl
O destruidor.
~CSacl() throw();
Observações
O destruidor liberta quaisquer recursos adquiridos pelo objeto, incluindo todas as entradas de controlo de acesso (ACEs).
CSacl::GetAceCount
Devolve o número de entradas de controlo de acesso (ACEs) no CSacl objeto.
UINT GetAceCount() const throw();
Valor de retorno
Devolve o número de ACEs contidos no CSacl objeto.
CSacl::operator =
Operador de atribuição.
CSacl& operator=(const ACL& rhs) throw(...);
Parâmetros
RHS
A ACL (lista de controlo de acesso) a atribuir ao objeto existente.
Valor de retorno
Devolve uma referência ao objeto atualizado CSacl . Certifique-se de que o ACL parâmetro é realmente uma lista de controlo de acesso do sistema (SACL) e não uma lista de controlo de acesso discricionária (DACL). Nas builds de depuração ocorre uma asserção, e nas builds de release o ACL parâmetro é ignorado.
CSacl::RemoveAce
Remove uma ACE específica (entrada de controlo de acesso) do CSacl objeto.
void RemoveAce(UINT nIndex) throw();
Parâmetros
nIndex
Índice para a entrada ACE para remover.
Observações
Este método deriva de CAtlArray::RemoveAt.
CSacl::RemoveAllAces
Remove todas as entradas de controlo de acesso (ACEs) contidas no CSacl objeto.
void RemoveAllAces() throw();
Observações
Remove todas as ACE estruturas (se existirem) no CSacl objeto.
Consulte também
Classe CAcl
ACLs
ACEs
Visão geral da classe
Funções Globais de Segurança