次の方法で共有


IHostSecurityManager

更新 : 2007 年 11 月

現在実行しているスレッドにアクセスし、そのセキュリティ コンテキストを制御できるようにするメソッドを提供します。

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 メソッド

現在のユーザー ID の資格情報を使用してコードを実行することを要求します。

IHostSecurityManager::OpenThreadToken メソッド

現在のスレッドに関連付けられている随意アクセス トークンを開きます。

IHostSecurityManager::RevertToSelf メソッド

現在のユーザー ID の偽装を終了し、元のスレッド トークンに戻ります。

IHostSecurityManager::SetSecurityContext メソッド

現在実行しているスレッドのセキュリティ コンテキストを設定します。

IHostSecurityManager::SetThreadToken メソッド

現在実行しているスレッドのハンドルを設定します。

解説

ホストは、共通言語ランタイム (CLR: Common Language Runtime) およびユーザー コードを使用して、スレッド トークンへのすべてのコード アクセスを制御できます。また、コード アクセスが制約されている非同期操作またはコード ポイント全体にセキュリティ コンテキスト情報が完全に渡されるようにします。IHostSecurityContext は、CLR に対して非透過であるこのセキュリティ コンテキスト情報をカプセル化します。

CLR マネージ スレッドのコンテキストを内部で処理します。次の場合には、プロセス固有の IHostSecurityManager を照会します。

  • ファイナライザのスレッドの場合は、ファイナライザの実行中。

  • クラスおよびモジュール コンストラクタの実行中。

  • IHostThreadPoolManager::QueueUserWorkItem メソッドへの呼び出しでのワーカー スレッドの非同期ポイント。

  • I/O 完了ポートの使用中。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : MSCorEE.idl

ライブラリ : MSCorEE.dll にリソースとして格納されていること

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

IHostSecurityContext

その他の技術情報

ホスト インターフェイス