2012-04-09 32 views
2

我有一個使用Forms身份驗證的C#MVC 3框架編寫的網站。該網站允許匿名查看其大部分內容,但有一個包含PDF文檔的目錄,需要用戶進行身份驗證才能查看。C#MVC站點強制用戶重新驗證

幾乎所有的時間都可以正常工作,但偶爾驗證用戶會遇到問題。當他們點擊文檔時,他們會重複導向登錄屏幕,強制他們重新進行身份驗證。一旦他們完成,他們就會被重定向到文檔。不是一場完整的災難,但仍然讓用戶惱火。另一種情況是經過身份驗證的用戶打開其中一個PDF文檔,但如果他們單擊該文檔中的鏈接將其重定向到同一目錄中的另一個PDF文檔,系統將強制他們重新進行身份驗證。

我首先想到這可能是一個瀏覽器/ cookie問題,但從我可以通過與用戶交談來收集這個問題,它可以發生在Firefox或IE中,並且啓用了歷史記錄/ Cookie。幾個月前,我也在使用其公共Wi-Fi的酒店中遇到了這個問題,但我從未在工作中使用過我的辦公室連接或在家中體驗過這個問題。

該網站允許在PDF文檔駐留包含以下web.config文件匿名用戶訪問權限,但目錄:

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <authentication> 
     <deny users=」?」 /> 
     </authentication> 
    </system.web> 
</configuration> 

我完全難倒什麼可以與這些用戶可以繼續。任何想法都會非常有幫助。

+0

您可能從閱讀本文開始:http://www.hanselman.com/blog/BackToBasicsDynamicImageGenerationASPNETControllersRoutingIHttpHandlersAndRunAllManagedModulesForAllRequests.aspx – 2012-04-09 19:48:36

+0

Craig,感謝您的建議。我讀過這篇文章,但除非我錯過了一些東西,否則PDF文件似乎可以很好地處理,除了一些用戶在查看它們之前必須重新驗證的附加步驟。該文章似乎也專注於動態創建的文件,其中我的內容完全是靜態的。如果有什麼我錯過了,我會很感激你能提供的任何見解。 – edward 2012-04-09 20:59:19

+0

你在MVC中,但你有一個web.config設置爲拒絕匿名用戶? MVC通常使用Controller操作的'[Authorize]'屬性。我會刪除該配置文件。 – mgnoonan 2012-05-11 00:53:21

回答

0

應用程序是否部署在服務器場中? 我看到過這樣的間歇性問題,當其中一個節點沒有與其他節點相同的MachineKey時。