Partilhar via


Classe CAutoRevertImpersonation

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