【问题标题】:Passing a FedAuth cookie to Web Service Calls将 FedAuth cookie 传递给 Web 服务调用
【发布时间】:2013-07-21 00:18:23
【问题描述】:

我有一个在 Azure 上运行的 ASP.NET 站点,地址为 https://[appname].cloudapp.net。我还有一个 asmx Web 服务作为子应用程序在 https://[appname].cloudapp.net/WebService 的同一实例中运行。

根站点受到被动 ADFS 身份验证的保护。由于 Web 服务从根应用程序的 web.config 继承设置,因此它也受到保护。

我的问题是,当我调用 Web 服务时,FedAuth cookie 没有传递到 Web 服务,我总是收到 STS 登录页面作为来自 Web 服务的响应。

如何使用从登录根应用程序中检索到的 FedAuth cookie 来验证我的 Web 服务调用?

【问题讨论】:

    标签: asmx adfs ws-federation


    【解决方案1】:

    您应该使 Web 服务匿名并处理不同类型的身份验证(假设服务需要受到保护)。您不能“通过” FedAuth cookie,因为它存在于浏览器中。因此,除非您使用 ajax 从浏览器进行 Web 服务调用,否则您将无法做到这一点。您可以做的一件事是将原始 ADFS SAML 令牌传递给 Web 服务并对其进行验证,但这在 asmx 中并非易事。

    <location path="WebService">
        <authorization>
            <allow users="*" />
        </authorization>
     </location>
    

    【讨论】:

      猜你喜欢
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      相关资源
      最近更新 更多