ImpersonationLevelOption Enumeration
Specifies the level of impersonation allowed when calling targets of a server application.
Assembly: System.EnterpriseServices (in System.EnterpriseServices.dll)
| Member name | Description | |
|---|---|---|
| Default | Uses the default impersonation level for the specified authentication service. In COM+, this setting is provided by the DefaultImpersonationLevel property in the LocalComputer collection. | |
| Anonymous | 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. | |
| Identify | The system default level. The server can obtain the client's identity, and the server can impersonate the client to do ACL checks. | |
| Impersonate | 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. | |
| Delegate | 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 |
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.