使用SID从操作系统获取WindowsIdentifiy

时间:2015-01-28 14:32:00

标签: c# windows windows-identity

我通过WCF从机器A向机器B发送请求。
两台计算机上的域和用户相同 在机器B中,使用给定的参数,我想为那个从机器A调用操作的用户创建一个WindowsIdentity

我知道有技术可以通过WCF基础设施实现这一目标 - 但我的项目中没有启用此技术 所以我需要从机器A发送OperationContext.Current.ServiceSecurityContext.WindowsIdentity.User.Value到机器B.

我的问题是如何使用SID创建WindowsIdentity?或者我需要发送不同的参数?

注意:

我正在尝试这个:

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

使用正确的参数,然后迭代所有GRP.GetMembers(true)以寻找我的 - 但它不存在。

更新

用户是:DOMAIN_NT/MyUser123 - >如果我将其更改为MyUser123@DOMAIN_NT并创建WindowsIdentity identity = new WindowsIdentitiy("MyUser123@DOMAIN_NT");的实例 - 它会起作用,但这是一种丑陋的方式。

0 个答案:

没有答案