ImpersonationLevelOption ImpersonationLevelOption ImpersonationLevelOption ImpersonationLevelOption Enum

Definition

Specifies the level of impersonation allowed when calling targets of a server application.

public enum class ImpersonationLevelOption
[System.Serializable]
public enum ImpersonationLevelOption
type ImpersonationLevelOption = 
Public Enum ImpersonationLevelOption
Inheritance
ImpersonationLevelOptionImpersonationLevelOptionImpersonationLevelOptionImpersonationLevelOption
Attributes

Fields

Anonymous Anonymous Anonymous Anonymous 1

The client is anonymous to the server. The server process can impersonate the client, but the impersonation token does not contain any information about the client.

Default Default Default Default 0

Uses the default impersonation level for the specified authentication service. In COM+, this setting is provided by the DefaultImpersonationLevel property in the LocalComputer collection.

Delegate Delegate Delegate Delegate 4

The most powerful impersonation level. When this level is selected, the server (whether local or remote) can impersonate the client's security context while acting on behalf of the client

Identify Identify Identify Identify 2

The system default level. The server can obtain the client's identity, and the server can impersonate the client to do ACL checks.

Impersonate Impersonate Impersonate Impersonate 3

The server can impersonate the client's security context while acting on behalf of the client. The server can access local resources as the client.

Examples

The following code example demonstrates the use of this enumeration in conjunction with the ApplicationAccessControlAttribute attribute.

// Set component access controls.
[assembly:ApplicationAccessControl(Authentication=AuthenticationOption::Privacy,
ImpersonationLevel=ImpersonationLevelOption::Identify,
AccessChecksLevel=AccessChecksLevelOption::ApplicationComponent)];
// Set component access controls.
[assembly: ApplicationAccessControl(Authentication=AuthenticationOption.Privacy,
                                    ImpersonationLevel=ImpersonationLevelOption.Identify,
                                    AccessChecksLevel=AccessChecksLevelOption.ApplicationComponent)]
' Set component access controls.
<Assembly: ApplicationAccessControl(Authentication:=AuthenticationOption.Privacy, ImpersonationLevel:=ImpersonationLevelOption.Identify, AccessChecksLevel:=AccessChecksLevelOption.ApplicationComponent)> 

Remarks

If impersonation succeeds, the client lets the server impersonate the client to some degree. The varying degrees of impersonation are called impersonation levels, and they indicate how much authority is given to the server when it is impersonating the client.

For library (inproc) applications, the only valid settings are Default or none specified.

Applies to