【问题标题】:SOAP Header with identity of final client带有最终客户端身份的 SOAP 标头
【发布时间】:2009-04-21 18:45:55
【问题描述】:

该环境是基于内部服务的应用程序,在带有 WCF 的 Windows 环境中运行。

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

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

我们现在要求后端服务审核最终客户端的身份,该客户端对中间层应用程序的调用导致对后端服务的调用。

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

我突然想到这个要求可能不是唯一的,所以在我为此目的发明自己的 SOAP Header 之前,我想我会问在这个领域是否存在任何可以重用的标准?

【问题讨论】:

    标签: wcf soap header


    【解决方案1】:

    听起来您正在使用 WCF 模拟,请查看 MSDN Link 或 Google 搜索词以了解更多信息。我自己从未使用过它,因此无法完全提供建议,但希望这是您所追求的。祝你好运

    编辑:WCF OperationContext 是否不将身份传递到第二阶段? (OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name)

    【讨论】:

    • 不,我不是在模仿。中间层应用程序是一个以自己的身份运行的受信任子系统:我不希望它模拟其客户端 - 只是在 SOAP 标头中传输有关客户端的一些信息。我可以使用自定义 SOAP Header 自己轻松地做到这一点,但想知道是否有标准。
    • 抱歉,不确定是否有任何标准,尽管我自己一直在自定义肥皂标题路线,所以如果您对此有任何疑问,请告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多