Partager via


Déterminer si la sécurité Role-Based est activée

À l’aide de la méthode ISecurityCallContext::IsSecurityEnabled disponible à partir de l’objet de contexte d’appel de sécurité, vous pouvez déterminer si la sécurité est activée pour l’objet actuel. Vous devez appeler IsSecurityEnabled avant d’utiliser ISecurityCallContext::IsCallerInRole pour case activée’appartenance au rôle, car IsCallerInRole retourne true si la sécurité n’est pas activée.

Les développeurs Microsoft Visual Basic appellent GetSecurityCallContext pour obtenir une référence à un objet SecurityCallContext , puis appellent IsSecurityEnabled, comme illustré dans l’exemple suivant :

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

Microsoft Visual C++ développeurs peuvent appeler ISecurityCallContext::IsSecurityEnabled en appelant CoGetCallContext pour obtenir un pointeur vers ISecurityCallContext, puis en appelant IsSecurityEnabled. Voici un bref exemple :

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;

Bien que la meilleure façon d’appeler IsSecurityEnabled consiste à utiliser l’objet de contexte d’appel de sécurité, vous pouvez également appeler IsSecurityEnabled via le contexte de l’objet. (Pour plus d’informations, consultez ObjectContext ou IObjectContext .)

Accès aux informations de contexte d’appel de sécurité

Vérification de l’appartenance au rôle

Sécurité des composants programmatiques