2010-06-28 22 views
2

我正在開發一個使用Windows Identity Foundation和STS網站進行身份驗證的Asp.Net MVC網站。它可以正常工作,因爲每當用戶嘗試訪問URL時,如果該會話未通過身份驗證,則會重定向到STS網站。關於使用Windows Identity Foundation進行聯合身份驗證的問題

現在我想在應用程序中添加一個頁面,該頁面應該可用而無需在站點中進行身份驗證。但我無法做到這一點。我試着在web.config中給出以下內容。它仍然被重定向到STS網站。在這裏,我想允許匿名訪問「公共」控制器及其所有操作。

<location path="Public"> 
<system.web> 
    <authorization> 
    <allow users="*" /> 
    </authorization> 
</system.web> 

這將是巨大的,如果有人能指導我用的解決方案。

感謝

+0

您是否用Autorize屬性標記了您的控制器? – 2010-06-28 06:39:18

+0

是的,我正在使用自定義Authrozation屬性來保護應用程序。但它看起來像請求被重定向到STS之前擊中此屬性。 – joe 2010-06-28 08:10:28

+1

據我所知,WIF攔截OnAuthenticateRequest並將其重定向到STS。正如我所看到的,您允許所有_authenticated_用戶訪問公開。您應該關閉身份驗證。 – 2010-06-28 17:26:13

回答

0

看看這個sample app。我們最終禁用了自動重定向並控制了我們自己。

有關它是如何工作的更多細節here

0

注意:我意識到我的答案遲了一年,但我想將其記錄下來供將來參考。

用戶屬性中的星號(*)表示所有已認證的用戶。要允許匿名或未經身份驗證的用戶,應使用問號(?),如下所示。

<location path="Public"> 
<system.web> 
    <authorization> 
    <allow users="?" /> 
    </authorization> 
</system.web> 
相關問題