次の方法で共有


ロールベースのセキュリティが有効になっているかどうかを判断する

セキュリティ呼び出しコンテキスト オブジェクトから使用できる ISecurityCallContext::IsSecurityEnabled メソッドを使用すると、現在のオブジェクトに対してセキュリティが有効になっているかどうかを判断できます。 セキュリティが有効になっていない場合は IsCallerInRole から True が返されるため、ISecurityCallContext::IsCallerInRole を使用してロール メンバーシップをチェックする前に、IsSecurityEnabled を呼び出す必要があります。

Microsoft Visual Basic 開発者は、次の例に示すように、GetSecurityCallContext を呼び出して SecurityCallContext オブジェクトへの参照を取得した後、IsSecurityEnabled を呼び出します。

Dim objSecCallCtx As SecurityCallContext
Dim boolSecEn As Boolean
Set objSecCallCtx = GetSecurityCallContext()
boolSecEn = objSecCallCtx.IsSecurityEnabled()
 

Microsoft Visual C++ 開発者は、CoGetCallContext を呼び出して ISecurityCallContext へのポインターを取得し、IsSecurityEnabled を呼び出すことによって、ISecurityCallContext::IsSecurityEnabled を呼びすことができます。 簡単な例を次に示します。

ISecurityCallContext* pSecCtx;
VARIANT_BOOL bIsEnabled;

HRESULT hr1 = CoGetCallContext(IID_ISecurityCallContext, (void**)&pSecCtx);
if (FAILED(hr1)) throw(hr1);
if (NULL == pSecCtx) {
    // Display error message.
    return E_FAIL;
}

HRESULT hr2 = pSecCtx->IsSecurityEnabled(&bIsEnabled);
return hr2;

IsSecurityEnabled を呼び出す推奨される方法はセキュリティ呼び出しコンテキスト オブジェクトを使用することですが、オブジェクト コンテキストを介して IsSecurityEnabled を呼び出すこともできます。 (「 詳細については、ObjectContext または IObjectContext を参照してください)。)

セキュリティ呼び出しコンテキスト情報へのアクセス

ロール メンバーシップの確認

プログラム コンポーネントのセキュリティ