程序員看淘寶,如何用Session保存用戶狀態(tài)(2)_ASP教程
推薦:ASP.NET七大身份驗證方式及解決方案在B/S系統(tǒng)開發(fā)中,經(jīng)常需要使用身份驗證。因為web應(yīng)用程序非常特殊,和傳統(tǒng)的C/S程序不同,默認(rèn)情況下(不采用任何身份驗證方式和權(quán)限控制手段),當(dāng)你的程序在互聯(lián)網(wǎng)/局域網(wǎng)上公開后,任何人都能夠訪問你的web應(yīng)用程序的資源,這樣很難保障應(yīng)用程序安全性。通俗點來說:
2. 跳轉(zhuǎn)界面的代碼:(防止用戶通過URL直接跳轉(zhuǎn)到該界面,每次界面都要進(jìn)行判斷)
- public partial class Main : System.Web.UI.Page
- {
- //窗體加載
- protected void Page_Load(object sender, EventArgs e)
- {
- //根據(jù)Session對象保存的用戶登陸狀態(tài)判斷用戶是否登錄
- if (Session["UserFlag"].ToString () == "false")
- {
- //如果未登錄,則直接跳轉(zhuǎn)到登錄界面
- Response.Redirect ("Login.aspx");
- }
- }
- }
解決方案二:通過提供一個中介judge.aspx界面,每個跟賬戶有關(guān)的界面跳轉(zhuǎn)之前都跳轉(zhuǎn)到該界面,通過該界面加載的時判斷用戶的登錄狀態(tài)。
1. 登錄頁面代碼不變
2. judge.aspx頁面代碼:
- public partial class judge : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- //對Session對象進(jìn)行判斷用戶的狀態(tài)
- if (Session["flag"].ToString()=="false")
- {
- Response.Write("未登錄");
- }
- /*else
- {
- Response.Redirect("Main.aspx");//加上這句話會造成死循環(huán)
- }*/
- }
- }
3. 跳轉(zhuǎn)界面代碼:
- public partial class Main : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- //跳轉(zhuǎn)頁面必須經(jīng)過判斷,防止直接登錄該頁面,而不進(jìn)行登錄。
- Server.Execute("judge.aspx");//通過執(zhí)行Server對象的Execute方法
- }
- }
總結(jié):兩種解決方案原理相同,通過Session對象保存用戶狀態(tài),不同頁面都可以通過訪問該用戶的Session對象的會話值來判斷該用戶的狀態(tài)。解決方案二只是簡化了判斷過程,通過Server對象的Execute方法先執(zhí)行中介判斷界面,然后回歸到原程序執(zhí)行順序。
補充:
Server對象
語法:Server.Execute(path)
用途:這個方法是 IIS5.0 新增的功能,用途類似程序語言中的函數(shù)調(diào)用,也就是說,您可以在 ASP 程序中使用 Server.Execute(path)方法調(diào)用 Path 指定的 ASP 程序,待被調(diào)用的程序執(zhí)行完畢之后再返回原來的程序,繼續(xù)執(zhí)行接下來的指令。
Session對象
在網(wǎng)站中,每個新訪問的用戶都將產(chǎn)生自己的session(回話)對象。這個session對象在服務(wù)器端進(jìn)行管理,只能為當(dāng)前訪問的用戶服務(wù)。如果另一個用戶進(jìn)入網(wǎng)站,也將擁有自己的session對象,兩個用戶的session對象即使同名,也不能共享。
注:更多精彩教程請關(guān)注模板無憂電腦教程欄目,模板無憂電腦辦公群:189034526歡迎你的加入
分享:8 種提升 ASP.NET Web API 性能的方法ASP.NET Web API 是非常棒的技術(shù)。編寫 Web API 十分容易,以致于很多開發(fā)者沒有在應(yīng)用程序結(jié)構(gòu)設(shè)計上花時間來獲得很好的執(zhí)行性能。 在本文中,我將介紹8項提高 ASP.NET Web API 性能的技術(shù)。 1) 使用最快的 JSON 序列化工具 JSON 的序列化對整個 ASP.NET Web API 的性
- 如何在ASP.NET應(yīng)用程序中初始化
- ASP.NET七大身份驗證方式及解決方案
- 8 種提升 ASP.NET Web API 性能的方法
- asp.net計算每個頁面執(zhí)行時間的方法
- asp實現(xiàn)獲取MSSQL數(shù)據(jù)庫表指定條件行數(shù)的函數(shù)
- asp實現(xiàn)讀取數(shù)據(jù)庫輸出json代碼
- JScript中遍歷Request表單參數(shù)集合的方法
- 如何使用ASP建立虛擬的FTP服務(wù)器
- 用ASP+CSS實現(xiàn)隨機(jī)背景
- 簡述Xml.Serialization如何序列化對象到XML文件
- 如何過濾html中的回車空格
- ASP中的EVAL函數(shù)使用教程
- 相關(guān)鏈接:
- 教程說明:
ASP教程-程序員看淘寶,如何用Session保存用戶狀態(tài)(2)
。