2013-07-21 43 views
3

我有一個在Azure上運行的ASP.NET網站,位於https:// [appname] .cloudapp.net。我還在https:// [appname] .cloudapp.net/WebService的同一個實例中有一個作爲子應用程序運行的asmx Web服務。將FedAuth cookie傳遞給Web服務調用

根站點受到被動ADFS身份驗證的保護。由於Web服務繼承了根應用程序的web.config中的設置,因此它也受到保護。

我的問題是,當我進行Web服務調用時,FedAuth cookie沒有傳遞到Web服務,我總是收到STS登錄頁面作爲Web服務響應。

如何使用從根登錄到根應用程序檢索到的FedAuth cookie來驗證我的Web服務調用?

回答

0

您應該使Web服務匿名並處理不同類型的身份驗證(假定服務需要保護)。您無法「傳遞」FedAuth cookie,因爲它存在於瀏覽器中。所以除非你使用ajax從瀏覽器進行Web服務調用,否則你無法做到這一點。你可以做的一件事是將原始的ADFS SAML令牌傳遞給Web服務並對其進行驗證,但這在asmx中不會變得微不足道。

<location path="WebService"> 
    <authorization> 
     <allow users="*" /> 
    </authorization> 
</location> 
相關問題