Compartir a través de


Determinar si la seguridad de Role-Based está habilitada

Mediante el uso del método ISecurityCallContext::IsSecurityEnabled disponible en el objeto de contexto de llamada de seguridad, puede determinar si la seguridad está habilitada para el objeto actual. Debe llamar a IsSecurityEnabled antes de usar ISecurityCallContext::IsCallerInRole para comprobar la pertenencia a roles porque IsCallerInRole devuelve True si la seguridad no está habilitada.

Los desarrolladores de Microsoft Visual Basic llaman a GetSecurityCallContext para obtener una referencia a un objeto SecurityCallContext y, a continuación, llaman a IsSecurityEnabled, como se muestra en el ejemplo siguiente:

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

Microsoft Visual C++ desarrolladores pueden llamar a ISecurityCallContext::IsSecurityEnabled llamando a CoGetCallContext para obtener un puntero a ISecurityCallContext y, a continuación, llamar a IsSecurityEnabled. A continuación se muestra un breve ejemplo:

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;

Aunque la manera preferida de llamar a IsSecurityEnabled es mediante el uso del objeto de contexto de llamada de seguridad, también puede llamar a IsSecurityEnabled a través del contexto del objeto. (Vea ObjectContext o IObjectContext para obtener más información).

Acceso a la información de contexto de llamada de seguridad

Comprobación de la pertenencia a roles

Seguridad de componentes mediante programación