Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: WCF
Ok, this may be a newbie question but what is the difference between these two?
 
WindowsIdentity.GetCurrent()
and
ServiceSecurityContext.Current()
 
Seems both of these return the client user id in a WCF service.
Posted 11-Feb-13 14:30pm
Edited 12-Feb-13 6:45am
v2

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

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[^]
  Permalink  
Comments
Espen Harlinn at 12-Feb-13 14:42pm
   
Very nice, Sandeep :-D
Sandeep Mewara at 12-Feb-13 14:46pm
   
Thanks Espen. :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web03 | 2.8.141220.1 | Last Updated 12 Feb 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100