This documentation is archived and is not being maintained.

ImpersonationLevelOption Enumeration

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

Namespace:  System.EnterpriseServices
Assembly:  System.EnterpriseServices (in System.EnterpriseServices.dll)

[SerializableAttribute]
public enum ImpersonationLevelOption

Member nameDescription
DefaultUses the default impersonation level for the specified authentication service. In COM+, this setting is provided by the DefaultImpersonationLevel property in the LocalComputer collection.
AnonymousThe 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.
IdentifyThe system default level. The server can obtain the client's identity, and the server can impersonate the client to do ACL checks.
ImpersonateThe server can impersonate the client's security context while acting on behalf of the client. The server can access local resources as the client.
DelegateThe 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

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.

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)];

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Show: