2.2.3.5 SECURITY_IMPERSONATION_LEVEL

The SECURITY_IMPERSONATION_LEVEL enumeration defines a set of values that specifies security impersonation levels. These levels govern the degree to which a server process can act on behalf of a client process.

This enumeration has no effect on message processing in any environment.

 typedef  enum _SECURITY_IMPERSONATION_LEVEL
 {
   SecurityAnonymous = 0,
   SecurityIdentification = 1,
   SecurityImpersonation = 2,
   SecurityDelegation = 3
 } SECURITY_IMPERSONATION_LEVEL,
  *PSECURITY_IMPERSONATION_LEVEL;

SecurityAnonymous:  The server cannot obtain information about the client and cannot impersonate the client.

SecurityIdentification:  The server can obtain information such as security identifiers and privileges, but the server cannot impersonate the client.

SecurityImpersonation:  The server can impersonate the client's security context on its local system, but cannot impersonate the client when communicating with services on remote systems.

SecurityDelegation:  The server can impersonate the client's security context when communicating with services on remote systems.