Поделиться через


Класс CAutoRevertImpersonation

Этот класс возвращает объекты CAccessToken в неимперсонированное состояние при выходе из области.

Синтаксис

class CAutoRevertImpersonation

Участники

Открытые конструкторы

Имя Описание
CAutoRevertImpersonation::CAutoRevertImpersonation CAutoRevertImpersonation Создает объект
CAutoRevertImpersonation::~CAutoRevertImpersonation Уничтожает объект и возвращает олицетворение маркера доступа.

Открытые методы

Имя Описание
CAutoRevertImpersonation::Attach Автоматизирует олицетворение олицетворения маркера доступа.
CAutoRevertImpersonation::D etach Отменяет автоматическую олицетворение.
CAutoRevertImpersonation::GetAccessToken Извлекает маркер доступа, связанный с этим объектом.

Замечания

Маркер доступа — это объект, описывающий контекст безопасности процесса или потока и выделенный каждому пользователю, вошедшему в систему Windows NT или Windows 2000. Эти маркеры доступа можно представить с CAccessToken помощью класса.

Иногда необходимо олицетворить маркеры доступа. Этот класс предоставляется в качестве удобства, но он не выполняет олицетворение маркеров доступа; он выполняет автоматическое восстановление только в неимперсонированном состоянии. Это связано с тем, что олицетворение доступа к маркеру может выполняться несколькими разными способами.

Общие сведения о модели управления доступом в Windows см. в контроль доступа в пакете SDK для Windows.

Требования

Заголовок: atlsecurity.h

CAutoRevertImpersonation::Attach

Автоматизирует олицетворение олицетворения маркера доступа.

void Attach(const CAccessToken* pAT) throw();

Параметры

похлопывать
Адрес объекта CAccessToken , который необходимо отменить автоматически

Замечания

Этот метод следует использовать только в том случае, если объект CAutoRevertImpersonation был создан с указателем NULL CAccessToken или если ранее был вызван отсоединение . В простых случаях использовать этот метод не обязательно.

CAutoRevertImpersonation::CAutoRevertImpersonation

Формирует объект CAutoRevertImpersonation.

CAutoRevertImpersonation(const CAccessToken* pAT) throw();

Параметры

похлопывать
Адрес объекта CAccessToken , который необходимо отменить автоматически.

Замечания

Фактическое олицетворение маркера доступа должно выполняться отдельно от и желательно перед созданием CAutoRevertImpersonation объекта. Эта олицетворение будет автоматически отменена при CAutoRevertImpersonation выходе объекта из области.

CAutoRevertImpersonation::~CAutoRevertImpersonation

Уничтожает объект и возвращает олицетворение маркера доступа.

~CAutoRevertImpersonation() throw();

Замечания

Отменяет любые олицетворения, действующие в настоящее время для объекта CAccessToken , предоставленного при построении или через метод Attach . Если связь не CAccessToken связана, деструктор не действует.

CAutoRevertImpersonation::D etach

Отменяет автоматическую олицетворение.

const CAccessToken* Detach() throw();

Возвращаемое значение

Адрес ранее связанного CAccessToken или NULL, если связь не существовала.

Замечания

Вызов отсоединения предотвращает CAutoRevertImpersonation отмену олицетворения в настоящее время для объекта CAccessToken, связанного с этим объектом. CAutoRevertImpersonation затем может быть уничтожен без эффекта или повторного связывания с тем же или другим CAccessToken объектом с помощью Attach.

CAutoRevertImpersonation::GetAccessToken

Извлекает маркер доступа, связанный с этим объектом.

const CAccessToken* GetAccessToken() throw();

Возвращаемое значение

Адрес ранее связанного CAccessToken или NULL, если связь не существовала.

Замечания

Если этот метод вызывается для целей, включающих возврат олицетворения CAccessToken объекта, вместо этого следует использовать метод Detach .

См. также

Пример ATLSecurity
Маркеры доступа
Общие сведения о классе