基本上我有3頁,登錄頁面,主頁和註冊頁面。在asp.net中的會話C#
我的用戶有2個訪問級別,管理員和用戶。
管理員可以去註冊apge,用戶不能。
登錄頁面有2個會話,名稱和角色。
在頁面加載時,我清除了這兩個會話。
如果登錄成功,我填寫了值。
我的問題是..
我以管理員身份登錄,會話[ 「名稱」] = 「管理員」;會話[ 「角色」] = 「管理員」;
我轉到主頁面,然後到超鏈接的註冊頁面。 (只爲管理員啓用)
在註冊pageload上,我檢查角色。如果它不是訪問,我重定向到主頁面。
每頁已註銷超鏈接。
我將重定向該鏈接以登錄頁面。
當我在加載登錄頁面時清除會話值時,它們都很清晰。
當我到達管理頁面時,我複製了URL。
我註銷並以其他用戶身份登錄。
我進入首頁。
我無法進入註冊頁面,因爲超鏈接處於禁用狀態。
但是,當我粘貼的URL,它可以去註冊頁面。
只有當我點擊某些東西時,它纔會重定向到主頁面,因爲page_load函數沒有在第一次運行。
有什麼想法?
不,這是老的用戶名。不是新的。我忘了提到這一點。這就是爲什麼我認爲他們從不運行page_load函數因爲我改變了該函數的用戶名。 – william 2010-12-13 08:18:32
所以它是瀏覽器緩存,不是嗎?你會得到舊的一切,服務器代碼不會運行。嘗試在沒有登錄的情況下打開頁面。嘗試在IE中打開它(我注意到IE瀏覽器不喜歡緩存整個頁面,而其他瀏覽器) – Stilgar 2010-12-13 09:18:11