- ASP.NET MVC2
- .NET 3.5
- FormsAuthentication
- 網址驗證損失動態創建的PDF返回FileContentResult
一切工作正常,直到IE8。使用IE8時,當用戶打開PDF然後返回到應用程序時,他已經失去了身份驗證。我在表單auth cookie上添加了過期時間,問題似乎已解決。但是,後來我發現在父應用程序中出現了同樣的問題。使用持久cookie時,當用戶在我的應用程序(domain.com/myapp)中繼續時,一切都很好,但是當他返回到父應用程序(domain.com)窗口時,他已經失去了身份驗證。父應用程序使用依賴會話狀態的專有身份驗證和授權體系結構。與IE8和MVC FileContentResult
所以我對這個問題的理解是,FileSystemResult不帶任何會話信息,因此會話丟失。我明白,通過爲cookie添加過期時間,cookie會持久存在,並使授權可以保留在我的應用中,即使文檔已打開。
我不明白爲什麼在我的cookie中添加到期將問題轉移到父應用程序。
所以,我錯了,這一直髮生在父母身上。有趣的是,當我連接Fiddler來觀察發生了什麼事情時,問題就消失了。
您有解決此問題的建議嗎?除了將文件寫入服務器和使用鏈接返回頁面以直接打開文件之外,我無法想象除了非常難看的東西外。
基於this question我覺得我被洗腦了。
用戶如何返回到應用程序?返回鍵?關閉PDF查看器? –
@Shiraz:窗戶保持打開狀態。 PDF下載提供了一個Open-Save-Cancel下載對話框。 – Leslie
@Shiraz:另外,父應用程序會在新窗口中打開子女 – Leslie