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 reverte os objetos CAccessToken para um estado não personificante quando sai do âmbito.
Sintaxe
class CAutoRevertImpersonation
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CAutoRevertImpersonation::CAutoRevertImpersonation | Constrói um CAutoRevertImpersonation objeto |
| CAutoRevertImpersonation::~CAutoRevertImpersonation | Destrói o objeto e reverte a imitação do token de acesso. |
Métodos Públicos
| Nome | Description |
|---|---|
| CAutoRevertImpersonation::Anexar | Automatiza a reversão por personificação de um token de acesso. |
| CAutoRevertImpersonation::D etach | Cancela a reversão automática de personificação. |
| CAutoRevertImpersonation::GetAccessToken | Recupera a corrente do token de acesso associada a este objeto. |
Observações
Um token de acesso é um objeto que descreve o contexto de segurança de um processo ou thread e é alocado a cada utilizador iniciado num sistema Windows NT ou Windows 2000. Estes tokens de acesso podem ser representados com a CAccessToken classe.
Por vezes, é necessário fazer-se passar por tokens de acesso. Esta classe é fornecida como conveniência, mas não realiza a personificação de tokens de acesso; apenas realiza a reversão automática para um estado não personificado. Isto deve-se ao facto de a usurpação de acesso a tokens poder ser realizada de várias formas diferentes.
Para uma introdução ao modelo de controlo de acesso no Windows, veja Controlo de Acesso no SDK do Windows.
Requerimentos
Cabeçalho: atlsecurity.h
CAutoRevertImpersonation::Anexar
Automatiza a reversão por personificação de um token de acesso.
void Attach(const CAccessToken* pAT) throw();
Parâmetros
pAT
O endereço do objeto CAccessToken a ser revertido automaticamente
Observações
Este método só deve ser usado se o objeto CAutoRevertImpersonation foi criado com um ponteiro NULL CAccessToken , ou se Detach foi chamado anteriormente. Para casos simples, não é necessário usar este método.
CAutoRevertImpersonation::CAutoRevertImpersonation
Constrói um CAutoRevertImpersonation objeto.
CAutoRevertImpersonation(const CAccessToken* pAT) throw();
Parâmetros
pAT
O endereço do objeto CAccessToken será revertido automaticamente.
Observações
A personificação efetiva do token de acesso deve ser realizada separadamente e, preferencialmente, antes da criação de um CAutoRevertImpersonation objeto. Esta personificação será revertida automaticamente quando o CAutoRevertImpersonation objeto sair do âmbito.
CAutoRevertImpersonation::~CAutoRevertImpersonation
Destrói o objeto e reverte a imitação do token de acesso.
~CAutoRevertImpersonation() throw();
Observações
Reverte qualquer personificação atualmente em vigor para o objeto CAccessToken fornecido, seja na construção ou através do método Attach . Se não CAccessToken estiver associado, o destruidor não tem efeito.
CAutoRevertImpersonation::D etach
Cancela a reversão automática de personificação.
const CAccessToken* Detach() throw();
Valor de retorno
O endereço do CAccessToken previamente associado, ou NULL se não existisse associação.
Observações
Chamar o Detach impede que o CAutoRevertImpersonation objeto reverta qualquer personificação atualmente em vigor para o objeto CAccessToken associado a este objeto.
CAutoRevertImpersonation podem então ser destruídos sem efeito ou reassociados ao mesmo ou a outro CAccessToken objeto usando Anexar.
CAutoRevertImpersonation::GetAccessToken
Recupera a corrente do token de acesso associada a este objeto.
const CAccessToken* GetAccessToken() throw();
Valor de retorno
O endereço do CAccessToken previamente associado, ou NULL se não existisse associação.
Observações
Se este método for chamado para fins que incluem a reversão de uma personificação do CAccessToken objeto, deve ser usado o método Detach em vez disso.
Consulte também
Exemplo de ATLSecurity
Tokens de acesso
Visão geral da classe