使用WCF创建Windows身份

时间:2014-07-25 07:26:41

标签: c# wcf asp.net-mvc-3 rest iis

我有一个WCF REST服务,它在服务器计算机中公开为Windows Authenticated服务。

由于该服务经过Windows身份验证,因此我可以使用API​​ ServiceSecurityContext.Current.WindowsIdentity 在服务器端形成所请求用户的WindowsIdentity。

问题:

现在我有一台请求Windows认证服务的客户机, 在客户端计算机中,用户以clientmachine / testuser身份登录。使用相同的用户名和密码,服务器机器(servermachine / testuser)中还有一个用户,如果请求来自客户端, ServiceSecurityContext.Current.WindowsIdentity 正在给出 服务器机器(servermachine / testuser)中的用户的windowsidentity,而不是clientmachine / testuser,这是错误的,但如果密码不同,那么windowsidentity就可以了。

我在服务中做错了什么或这个窗口行为? 请帮助我,提前谢谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用模拟,使用此属性修饰您的方法

[OperationBehavior(Impersonation = ImpersonationOption.Allowed)]

将此添加到配置

<behavior name="myServiceBehavior">
    <!-- Other behaviors -->
    <serviceAuthorization impersonateCallerForAllOperations="true" />
</behavior>