3

我有一个在 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 服务调用?

4

1 回答 1

0

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

<location path="WebService">
    <authorization>
        <allow users="*" />
    </authorization>
 </location>
于 2013-07-21T12:34:43.440 回答