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 .)
Rubriques connexes