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


Интерфейс IHostSecurityManager

Обновлен: Ноябрь 2007

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

interface IHostSecurityManager : IUnknown {
    HRESULT GetSecurityContext (
        [in]  EContextType eContextType, 
        [out] IHostSecurityContext** ppSecurityContext
    );
    HRESULT ImpersonateLoggedOnUser (
        [in]  HANDLE hToken
    );
    HRESULT OpenThreadToken (
        [in]  DWORD   dwDesiredAccess, 
        [in]  BOOL    bOpenAsSelf, 
        [out] HANDLE  *phThreadToken
    );
    HRESULT RevertToSelf ();
    HRESULT SetSecurityContext (
        [in]  EContextType eContextType, 
        [in]  IHostSecurityContext* pSecurityContext
    );
    HRESULT SetThreadToken (
        [in]  HANDLE hToken
    );
};

Методы

Метод

Описание

Метод IHostSecurityManager::GetSecurityContext

Получает запрашиваемый интерфейс IHostSecurityContext из основного приложения.

Метод IHostSecurityManager::ImpersonateLoggedOnUser

Запрашивает выполнение кода с использованием учетных данных удостоверения текущего пользователя.

Метод IHostSecurityManager::OpenThreadToken

Открывает маркер доступа на уровне пользователей, связанный с текущим потоком.

Метод IHostSecurityManager::RevertToSelf

Завершает реализацию удостоверения текущего пользователя и возвращает исходный маркер потока.

Метод IHostSecurityManager::SetSecurityContext

Задает контекст безопасности для выполняемого в данный момент потока.

Метод IHostSecurityManager::SetThreadToken

Устанавливает дескриптор для выполняемого в настоящее время потока.

Заметки

Основное приложение может управлять доступом всего кода к маркерам потока как со стороны среды CLR, так и со стороны пользовательского кода. Кроме того, оно может гарантировать передачу абсолютно всех сведений о контексте безопасности через асинхронные операции или точки кода с ограниченным доступом. Интерфейс IHostSecurityContext инкапсулирует эти сведения о контексте безопасности, являющиеся непрозрачными для среды CLR.

Среда CLR выполняет внутреннюю обработку контекста потока. В следующих ситуациях она запрашивает особый интерфейс IHostSecurityManager для конкретного процесса.

  • В потоке методов завершения во время выполнения этих методов.

  • При выполнении конструкторов классов и модулей.

  • В асинхронных точках рабочего потока при вызове метода IHostThreadPoolManager::QueueUserWorkItem.

  • При обслуживании портов завершения ввода-вывода.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: MSCorEE.idl

Библиотека: включена как ресурс в MSCorEE.dll

Версии платформы .NET Framework: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

См. также

Ссылки

Интерфейс IHostSecurityContext

Другие ресурсы

Интерфейсы размещения