簡體   English   中英

無法確定我的asp.net會話實現是否正確

[英]Can't determine if my asp.net session implementation is correct

我在asp.net Web應用程序中的會話實現中非常困惑。 我的邏輯是,一旦用戶輸入用戶名+密碼,我將驗證憑據,然后使用一些用戶信息創建新會話。[從現在開始,我所能做的就是該用戶有權訪問受限資源,並且該用戶永遠不能除非獲得認證,否則請訪問這些資源]。 我在每個請求和其余請求上都對此進行驗證。 這是我的問題。 我在網站上有很多地方都有html鏈接,如果我有一個鏈接,例如

<a href='resource1.aspx'>resource 1</a>

這將生成一個新的會話ID,因此實際上會使現有的會話ID無效,在我的情況下,這將被視為會話過期,並且用戶將被發送到登錄頁面。 在閱讀此問題時,我遇到了一個asp.net API方法[

Response.ApplyAppPathModifier(url);

]將會話ID附加到每個請求,從而解決了每個鏈接的新會話ID生成問題。 盡管它解決了會話中斷問題,但確實在所有網址旁邊添加了會話ID,現在可以在源代碼中看到會話ID(查看網頁的源代碼)。 我真的不想使用Cookie,也不想在用戶會話中使用會話...有人可以幫我創建一個能按我希望的方式工作的系統嗎? 如果我做的完全不對,我將非常感謝您進行詳細的討論,並在可能的情況下提供一些示例...在此先感謝您。

看來您正在嘗試使用無cookie會話 ,該會話將會話ID添加到所有鏈接中以便能夠跟蹤會話。

另一種(更為常見的標准和IMO安全)方法是使用普通會話,該會話會自動創建會話cookie(當您使用.Session對象時),並使用該cookie來確定當前會話。 如果您不想使用cookie,則必須堅持使用cookieless和URL中的會話ID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM