簡體   English   中英

asp.net中的會話C#

[英]session in asp.net C#

基本上我有3頁,登錄頁面,主頁面和注冊頁面。

我的用戶有2個訪問級別,admin和User。

管理員可以轉到注冊帳戶,而用戶不能。

在登錄頁面上,有2個會話,名稱和角色。

在頁面加載時,我清除了兩個會話。

如果登錄成功,我填寫了值。

我的問題是......

我以Admin,Session [“Name”] =“admin”登錄; 會話[ “角色”] = “管理員”;

我轉到主頁,然后到超級鏈接的注冊頁面。 (僅為管理員啟用)

在注冊頁面加載中,我檢查了角色。 如果無法訪問,我將重定向到主頁。

每個頁面都已注銷超鏈接。

我將重定向該鏈接以登錄頁面。

當我在登錄頁面加載時清除會話值時,它們都是清除的。

當我進入“管理”頁面時,我復制了URL。

我注銷並以具有用戶訪問權限的其他人身份登錄。

我去主頁面。

由於超鏈接被禁用,我無法進入注冊頁面。

但是當我粘貼URL時,它可以轉到注冊頁面。

僅當我單擊某些內容時,它才會重定向到主頁,因為page_load函數不是第一次運行。

任何想法?

從您的解釋看來,這很有可能實際上是瀏覽器在緩存頁面而不發送請求。 嘗試在頁面上打印用戶名,看看當你再次點擊網址時它會改變。 您也可以使用Firebug,IE9開發工具,Fiddler等工具查看請求是否已發送。

BTW考慮使用成員資格和角色提供程序,而不是在會話中添加內容( http://odetocode.com/articles/427.aspx

暫無
暫無

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

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