Windows服务中托管的WCF可以从asp.net Web应用程序模拟域窗口调用程序吗?

时间:2011-11-11 11:22:20

标签: asp.net wcf

我有一个Web应用程序,它引用了部署在Windows服务上的wcf服务。 Web用户向WCF服务发送请求,然后该服务调用存储过程。 Web应用程序在Windows身份验证和模拟下运行。 WCF作为wshttp绑定运行。

这些都位于同一台机器上。我希望WCF服务模拟Web应用程序用户。这可能吗?有人可以指导我如何实现它吗?

感谢。

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。如果应用程序和服务在同一系统上运行,则存在一些小的限制,但您的方案不应受此影响。 来自How to: Impersonate a Client on a Service

  

当客户端和服务在同一台计算机上运行时   客户端在系统帐户下运行(即本地系统或   网络服务),客户端安全时不能冒充   会话是使用有状态的安全上下文令牌建立的。一个   WinForms或控制台应用程序通常在当前运行   登录帐户,以便默认情况下可以模拟该帐户。   但是,当客户端是ASP.NET页面并且该页面托管在其中时   IIS 6.0或IIS 7.0,然后客户端确实在网络服务下运行   帐户默认情况下。所有支持的系统提供的绑定   安全会话默认使用无状态安全上下文令牌。   但是,如果客户端是ASP.NET页面和安全会话   使用有状态安全上下文令牌,客户端不能   模拟的。

如果您的服务作为Windows服务运行,则没有特定限制。