Класс 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 .