Menentukan Apakah Keamanan Berbasis Peran Diaktifkan

Dengan menggunakan metode ISecurityCallContext::IsSecurityEnabled yang tersedia dari objek konteks panggilan keamanan, Anda dapat menentukan apakah keamanan diaktifkan untuk objek saat ini. Anda harus memanggil IsSecurityEnabled sebelum menggunakan ISecurityCallContext::IsCallerInRole untuk memeriksa keanggotaan peran karena IsCallerInRole mengembalikan True jika keamanan tidak diaktifkan.

Pengembang Microsoft Visual Basic memanggil GetSecurityCallContext untuk mendapatkan referensi ke objek SecurityCallContext lalu memanggil IsSecurityEnabled, seperti yang ditunjukkan dalam contoh berikut:

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

Pengembang Microsoft Visual C++ dapat memanggil ISecurityCallContext::IsSecurityEnabled dengan memanggil CoGetCallContext untuk mendapatkan pointer ke ISecurityCallContext lalu memanggil IsSecurityEnabled. Contoh singkat berikut:

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;

Meskipun cara yang disukai untuk memanggil IsSecurityEnabled adalah dengan menggunakan objek konteks panggilan keamanan, Anda juga dapat memanggil IsSecurityEnabled melalui konteks objek. (Lihat ObjectContext atau IObjectContext untuk informasi selengkapnya.)

Mengakses Informasi Konteks Panggilan Keamanan

Memeriksa Keanggotaan Peran

Keamanan Komponen Terprogram