Share via


Determinare se la sicurezza basata sui ruoli è abilitata

Utilizzando il metodo ISecurityCallContext::IsSecurityEnabled disponibile dall'oggetto contesto di chiamata di sicurezza, è possibile determinare se la sicurezza è abilitata per l'oggetto corrente. È consigliabile chiamare IsSecurityEnabled prima di usare ISecurityCallContext::IsCallerInRole per controllare l'appartenenza al ruolo perché IsCallerInRole restituisce True se la sicurezza non è abilitata.

Gli sviluppatori di Microsoft Visual Basic chiamano GetSecurityCallContext per ottenere un riferimento a un oggetto SecurityCallContext e quindi chiamare IsSecurityEnabled, come illustrato nell'esempio seguente:

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

Gli sviluppatori di Microsoft Visual C++ possono chiamare ISecurityCallContext::IsSecurityEnabled chiamando CoGetCallContext per ottenere un puntatore a ISecurityCallContext e quindi chiamando IsSecurityEnabled. Di seguito è riportato un breve esempio:

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;

Anche se il modo preferito per chiamare IsSecurityEnabled consiste nell'usare l'oggetto contesto di chiamata di sicurezza, è anche possibile chiamare IsSecurityEnabled tramite il contesto dell'oggetto. (Vedere ObjectContext o IObjectContext per altre informazioni.

Accesso alle informazioni sul contesto delle chiamate di sicurezza

Verifica dell'appartenenza al ruolo

Sicurezza dei componenti a livello di codice