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
ImpersonationLevelOption
Attributes

Fields

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 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 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 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 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