SECURITY_IMPERSONATION_LEVEL

typedef enum tagSECURITY_IMPERSONATION_LEVEL { /* sil */

SecurityAnonymous = 1,

SecurityIdentification,

SecurityImpersonation,

SecurityDelegation

} SECURITY_IMPERSONATION_LEVEL ;

The SECURITY_IMPERSONATION_LEVEL enumerated type contains security impersonation level enumerators. Security impersonation levels govern various relations between security clients and servers.

Enumerator Meaning

SecurityAnonymous Indicates the client does not want the server to obtain identification information about the client.
SecurityIdentification Allows the server to obtain information about the client, such as security identifiers and privileges, without being able to impersonate the client. This is useful for servers that export their own objects, such as tables and views exported by a database product. Using the retrieved client security information, the server will be able to make access validation decisions for itself without being able to utilize other services as the client.
SecurityImpersonation Allows the server to impersonate the client's security context on its local system. Unlike delegation, the server may not impersonate the client in remote system accesses.
SecurityDelegation Allows the server to use the client's security context to access other (possibly remote) services. For example, a compile server may be allowed to impersonate the client to access remote source, object, and listing files.