The most common implementation in .NET to get authenticated Windows account under which process is running is to get via
WindowsIdentity.GetCurrent()
WCF stores information about the identity of the remote client via
System.ServiceModel.ServiceSecurityContext
class. It’s two most important properties are:
-
PrimaryIdentity
– This is the identity used by the remote party for authentication while accessing the service.
-
WindowsIdentity
– This is the WindowsIdentity object representing the Windows Account information used for Windows Authentication.
We can access the
ServiceSecurityContext
instance from WCF service operation using the static Current property of ServiceSecurityContext class, i.e.:
ServiceSecurityContext.Current
Thus, WindowsIdentity is at basic level and a part of identity when used via WCF.
For full details, refer:
Identity & ServiceSecurityContext in WCF[
^]