2009-04-21 93 views
1

环境是基于内部服务的应用程序,运行在带WCF的Windows环境中。具有最终客户端标识的SOAP标头

  • 有几种“中间层” ASP.NET Web应用程序和Web服务进行身份验证使用Windows身份验证的最终客户端,并使用ASP.NET角色来设置Thread.CurrentPrincipal中以适当的RolePrincipal。这些应用程序均在其自己的服务帐户下运行,这是一个域帐户,并被视为可信任的子系统。

  • 只能由这些可信的“中间层”应用程序访问的一些后端WCF Web服务。他们使用Windows身份验证来限制对这些应用程序使用的服务帐户的访问。

我们现在拥有的后端服务的要求审核最终客户,他打电话给中间层应用程序导致调用后端服务的标识。

为了避免做出任何应用程序更改,我正在考虑编写一个端点行为,它将带有最终客户端身份的SOAP Header插入到发送到后端服务的请求中。请注意,中间层应用程序是可信的,因此不需要对此SOAP Header进行验证。

我想到这个要求可能不是唯一的,所以在我为此创造我自己的SOAP标题之前,我想我会问是否存在我可以重用的这个区域的任何标准?

回答

0

听起来好像你是在WCF模拟之后,请查看MSDN Link或谷歌搜索词的更多信息。我从来没有用过它,所以不能完全建议,但希望这是你以后的。祝你好运

编辑:WCF OperationContext是否不通过第二阶段的身份? (OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name)

+0

不,我不是模仿之后。中间层应用程序是一个受信任的子系统,它以自己的身份运行:我不想让它模拟客户端 - 只是为了在SOAP Header中传输关于客户端的一些信息。我可以使用自定义SOAP Header轻松完成此任务,但想知道是否有标准。 – Joe 2009-04-22 13:39:02