C# 在WCF服务中将主体从客户端转移到服务器
在我的应用程序中,我在客户端创建自己的主体对象,设置如下C# 在WCF服务中将主体从客户端转移到服务器,c#,wcf,c#-4.0,wcf-security,C#,Wcf,C# 4.0,Wcf Security,在我的应用程序中,我在客户端创建自己的主体对象,设置如下 Thread.CurrentPrincipal = myPrincipal; 现在,当我调用一个WCF服务(TCP/IP)时,我应该在这个称为WCF服务的服务器端线程中也有这个主体。我是否可以配置一些东西来实现这一点,或者我必须自己实现这一点 感谢您的提示。这将隐式完成,因为WCF中的每个请求都应该具有Iprincipal.Identity 您在服务器端尝试过类似的方法吗 IPrincipal principal = Thread.
Thread.CurrentPrincipal = myPrincipal;
现在,当我调用一个WCF服务(TCP/IP)时,我应该在这个称为WCF服务的服务器端线程中也有这个主体。我是否可以配置一些东西来实现这一点,或者我必须自己实现这一点
感谢您的提示。这将隐式完成,因为WCF中的每个请求都应该具有
Iprincipal.Identity
您在服务器端尝试过类似的方法吗
IPrincipal principal = Thread.CurrentPrincipal;
如果我们谈论的是windows主体,请看一下WCF身份验证和安全选项。这不是小事
如果您有一个自定义主体对象,那么我的建议是实现消息检查器,在消息头中序列化主体,并在另一端解包。这在许多项目中都非常有效,不需要任何特殊的WCF设置。请参阅本文:Hi-fejesjoco-我使用自定义主体。消息检查器的想法听起来很有趣。您能给我一个如何使用消息插入器的示例吗?这似乎是一个很好的示例:这种方法的优点是,您可以发送任何类型的复杂数据协定对象,并且您可以简单地将其应用于服务的每个调用,无需逐个向每个服务方法添加新参数。