1

I am sending request via WCF from Machine A to Machine B.
The domain and users are same on both machines.
In Machine B, using a given parameters, I want to create a WindowsIdentity for that user that invoked the operation from Machine A.

I know there is technology to do this via WCF infrastructure - but this technology is not enabled in my project.
So i need to send OperationContext.Current.ServiceSecurityContext.WindowsIdentity.User.Value from Machine A to Machine B.

My question is how do I create a WindowsIdentity using a SID ? Or do i need to send different parameters ?

Notes:

I was trying this:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "My_Domain");
GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, "userSID");

ofcourse with the right parameters, and then iterated all the GRP.GetMembers(true) to seek for mine - but it was not there.

Update:

The User is: DOMAIN_NT/MyUser123 -> If i change it to MyUser123@DOMAIN_NT and create instance of WindowsIdentity identity = new WindowsIdentitiy("MyUser123@DOMAIN_NT"); - It will work, but its an ugly way.

Julien Roncaglia
  • 17,397
  • 4
  • 57
  • 75
ilansch
  • 4,784
  • 7
  • 47
  • 96

0 Answers0