ImpersonationLevelOption Enum
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Specifies the level of impersonation allowed when calling targets of a server application.
public enum class ImpersonationLevelOption
[System.Serializable]
public enum ImpersonationLevelOption
[<System.Serializable>]
type ImpersonationLevelOption =
Public Enum ImpersonationLevelOption
- Inheritance
- Attributes
Fields
Name | Value | Description |
---|---|---|
Default | 0 | Uses the default impersonation level for the specified authentication service. In COM+, this setting is provided by the |
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. |
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. |
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. |
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.