在ASP.NET中,會話用於瀏覽器。但我怎樣才能爲一個標籤創建一個會話?ASP.NET中的選項卡的會話
回答
使用以下命令:
<configuration>
<system.web>
<sessionState cookieless="true"
regenerateExpiredSessionId="true" />
</system.web>
</configuration>
ASP.NET通過自動插入 唯一的會話ID到頁面的URL保存Cookie會話 狀態。 例如,以下網址已 被ASP.NET修改,以包括 唯一的會話ID lit3py55t21z5v55vlm25s55:
http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/orderform.aspx
當ASP.NET發送一個網頁給 瀏覽器,它會修改的任何鏈接通過在鏈接中嵌入會話ID值 來使用與應用相關的 路徑的 頁面。 (與絕對路徑鏈接 路徑不會被修改。)會話狀態 一直保持,只要用戶 以這種方式點擊已修改爲 的鏈接。但是,如果客戶端 重寫了由 應用程序提供的URL,則ASP.NET可能不能通過 來解析會話ID,並且 會將該請求與現有的 會話相關聯。在這種情況下,將爲請求啓動一個新的會話 。
因此,您需要爲新選項卡打開新會話的所有內容都是打開一個不帶會話標識符的URL。
編輯:
和其他用戶提到的,你應該照顧這個'功夫'。如果您在會話中存儲用戶敏感信息 - 請致電secure your authentification cookies。
EDIT2: 而且請注意,當您在網址中使用會話密鑰時,用戶可以將其複製併發送給一些朋友。而這個用戶和他的朋友將會分享這個單獨的會話(這將是一個很棒的功能!:))。爲避免這種情況,您可以執行以下操作:
1.在onSessionStart方法中以某種方式添加關聯到用戶(用戶的配置文件,存儲在數據庫中)並在BeginRequest上進行檢查。
2.當引用者爲空或不等於當前域時檢查引薦來源並創建新會話(重定向到無會話url)(但請注意可以手動設置引薦來源)
3.重寫會話ID的生成並關聯它與用戶名和IP/MAC(XOR或類似的東西)。並在會議召開時在舞臺上進行驗證。
4.還有其他的東西讓這個會話密鑰只對當前用戶有效。
會話cookie保存在瀏覽器實例可訪問的易失性存儲器中。你需要一個支持你所追求的概念的瀏覽器,而且據我所知,這種瀏覽器不存在。
在ASP.NET中,您可以在不使用會話cookie的情況下維護一個會話,它的真實醜陋,我不會推薦它,但它可能是您實現目標的一種方式。
@Downvoter:請解釋一下嗎? – AnthonyWJones 2009-06-05 14:02:38
- 1. asp.net獨特的會話時,在IE中重複選項卡
- 2. 帶有會話的JavaScript選項卡
- 3. 在ASP.NET中如何處理會話和多個選項卡?
- 4. 會話不會在選項卡內傳遞。 PHP會話
- 5. 按鈕不會更改JQuery UI選項卡中的選項卡
- 6. 在cygwin的xterm會話中創建多個選項卡
- 7. 合併選項卡中的選項卡
- 8. 自定義選項卡形狀的ASP.NET選項卡控件
- 9. 在asp.net上的jquery選項卡選擇
- 10. Asp.net中的會話
- 11. 在新瀏覽器選項卡上的最終用戶會話
- 12. 清除選項卡上的會話值關閉
- 13. 選項卡之間的會話 - Apache負載平衡器
- 14. 多個選項卡上的同一會話
- 15. 關閉瀏覽器/選項卡上的會話關閉
- 16. 在會話中存儲選定tabbedPanel選項卡的最佳方法?
- 17. Netbeans調試器會話:在同一個選項卡中打開
- 18. 背景說話的所有選項卡
- 19. 圖表和選項卡ASP.NET
- 20. asp.net選項卡控件
- 21. 在Access 2007中的選項卡外部選項卡上的選項卡
- 22. ASP.Net + JQuery的選項卡:使用Cookie選項打破我的GUI
- 23. 爲同一個窗口中的不同選項卡創建不同的會話
- 24. Android:選項卡內的選項卡
- 25. 在asp.net中使用jquery選項卡
- 26. 如何在asp.net中壓縮選項卡
- 27. WPF - 選項卡控件中的兩行選項卡 - 選項卡包裝
- 28. C#中的ASP.NET會話
- 29. 在asp.net中的會話?
- 30. asp.net中的會話變量
使用無cookie會話引入了一個非常可怕的安全問題,我認爲它不應該被使用。 – meandmycode 2009-06-05 10:55:15