Accessing Security Call Context Information

When role-based security is being used, the security call context object can be used to access security information about the current call.

The following collections of properties are available from the security call context object:

SecurityCallContext Collection

Property Description
NumCallers
The number of callers in the chain of calls.
MinAuthenticationLevel
The least secure authentication level of all callers in the chain.
Callers
Information about the identity of upstream callers, in the form of a SecurityCallers collection.
DirectCaller
The caller that called the object directly (with no intervening callers).
OriginalCaller
The caller that originated the chain of calls to the object.

For more information about how to use this collection, Microsoft Visual Basic developers should see the SecurityCallContext class. C and C++ developers should refer to ISecurityCallContext.

SecurityCallers Collection

The SecurityCallers collection represents callers that can be retrieved by using an index between 0 and 1 less than NumCallers, inclusive. Each caller is represented by a SecurityIdentity object.

For more information about this collection, Visual Basic developers should see the SecurityCallers class. C and C++ developers should refer to ISecurityCallersColl.

SecurityIdentity Collection

Property Description
SID
The security identifier for the caller.
AccountName
The account name of the caller.
AuthenticationService
The authentication service used, such as NTLMSSP, Kerberos, or SSL.
AuthenticationLevel
The authentication level used, which represents the amount of protection used when communicating with the object.
ImpersonationLevel
The level of impersonation set by the client, if impersonation was used. This level indicates the amount of authority given to the server by the client.

For more information on this collection, Visual Basic developers should see the SecurityIdentity class. C and C++ developers should refer to ISecurityIdentityColl.

Checking Role Membership

Determining Whether Role-Based Security Is Enabled

Programmatic Component Security