程序員看淘寶,如何用Session保存用戶狀態(tài)_ASP教程
推薦:ASP.NET七大身份驗(yàn)證方式及解決方案在B/S系統(tǒng)開(kāi)發(fā)中,經(jīng)常需要使用身份驗(yàn)證。因?yàn)閣eb應(yīng)用程序非常特殊,和傳統(tǒng)的C/S程序不同,默認(rèn)情況下(不采用任何身份驗(yàn)證方式和權(quán)限控制手段),當(dāng)你的程序在互聯(lián)網(wǎng)/局域網(wǎng)上公開(kāi)后,任何人都能夠訪問(wèn)你的web應(yīng)用程序的資源,這樣很難保障應(yīng)用程序安全性。通俗點(diǎn)來(lái)說(shuō):
網(wǎng)上購(gòu)物已經(jīng)成為現(xiàn)在生活不可缺少的一部分。我們上淘寶只是為了消費(fèi),今天換一個(gè)角度,用程序員的眼光看看淘寶。

如上圖:
情況一:當(dāng)打開(kāi)一些和賬戶有關(guān)的網(wǎng)頁(yè),檢測(cè)用戶沒(méi)有登錄,系統(tǒng)自動(dòng)會(huì)跳轉(zhuǎn)到登錄界面。
情況二:當(dāng)檢測(cè)到已經(jīng)有用戶登錄,頁(yè)面會(huì)自動(dòng)跳轉(zhuǎn)到目的頁(yè)面。
問(wèn)題:系統(tǒng)如何檢測(cè)用戶是否登錄,如何保存用戶的登錄狀態(tài)?
下面說(shuō)說(shuō)自己的理解:利用Session保存用戶狀態(tài),
解決方案一:每個(gè)用戶都有一個(gè)Session對(duì)象相對(duì)應(yīng),當(dāng)用戶想要跳轉(zhuǎn)到任意跟賬戶有關(guān)的界面(已買到的寶貝頁(yè)面),每個(gè)頁(yè)面加載的時(shí)候都要判斷Session對(duì)象保存的用戶狀態(tài)。
1. 登錄界面的代碼:
- public partial class Login : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
- {
- Session["UserFlag"] = false;//首先設(shè)置會(huì)話值UserFlage表示用戶是否登錄
- if (UserVolidate(Login1.UserName, Login1.Password) == true)//調(diào)用自定義方法,驗(yàn)證用戶是否登錄成功
- {
- Session["UserFlag"] = true; //登錄成功
- e.Authenticated = true;
- Response.Redirect("Main.aspx"); //跳轉(zhuǎn)主界面
- }
- else{
- Response.Write("未登錄"); //否則提示未登錄
- }
- }
- /// <summary>
- /// 用戶登錄驗(yàn)證
- /// </summary>
- /// <param name="userName">用戶名</param>
- /// <param name="userPassword">用戶密碼</param>
- /// <returns>bool</returns>
- private bool UserVolidate(String userName, String userPassword)
- {
- //連接數(shù)據(jù)庫(kù)
- SqlConnection con = new SqlConnection("server=.;database=User;uid=sa;pwd=123456;");
- con.Open();
- SqlCommand cmd=new SqlCommand ("select * from UserInfo where UserName="+userName +" and Password="+userPassword );
- int num=cmd.ExecuteNonQuery ();
- if (num>0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
分享:8 種提升 ASP.NET Web API 性能的方法ASP.NET Web API 是非常棒的技術(shù)。編寫 Web API 十分容易,以致于很多開(kāi)發(fā)者沒(méi)有在應(yīng)用程序結(jié)構(gòu)設(shè)計(jì)上花時(shí)間來(lái)獲得很好的執(zhí)行性能。 在本文中,我將介紹8項(xiàng)提高 ASP.NET Web API 性能的技術(shù)。 1) 使用最快的 JSON 序列化工具 JSON 的序列化對(duì)整個(gè) ASP.NET Web API 的性
- 如何在ASP.NET應(yīng)用程序中初始化
- ASP.NET七大身份驗(yàn)證方式及解決方案
- 8 種提升 ASP.NET Web API 性能的方法
- asp.net計(jì)算每個(gè)頁(yè)面執(zhí)行時(shí)間的方法
- asp實(shí)現(xiàn)獲取MSSQL數(shù)據(jù)庫(kù)表指定條件行數(shù)的函數(shù)
- asp實(shí)現(xiàn)讀取數(shù)據(jù)庫(kù)輸出json代碼
- JScript中遍歷Request表單參數(shù)集合的方法
- 如何使用ASP建立虛擬的FTP服務(wù)器
- 用ASP+CSS實(shí)現(xiàn)隨機(jī)背景
- 簡(jiǎn)述Xml.Serialization如何序列化對(duì)象到XML文件
- 如何過(guò)濾html中的回車空格
- ASP中的EVAL函數(shù)使用教程
ASP教程Rss訂閱編程教程搜索
ASP教程推薦
- 如何用Asp取得數(shù)據(jù)庫(kù)中所有表名和字段名
- 使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)應(yīng)用介紹
- 教大家如何利用ASP打造網(wǎng)站論壇DIY(1)
- Asp時(shí)間處理函數(shù)
- ASP安全:簡(jiǎn)單學(xué)習(xí)ASP連接數(shù)據(jù)庫(kù)方法
- 學(xué)ASp動(dòng)態(tài)網(wǎng)頁(yè)必備:常用的38個(gè)函數(shù)
- ASP 3.0高級(jí)編程(三十一)
- 用ASP編寫的俄羅斯方塊游戲
- 實(shí)現(xiàn)ASP頁(yè)面的防采集
- 10行代碼讓你告別Arp作惡導(dǎo)致的掉線
- 相關(guān)鏈接:
- 教程說(shuō)明:
ASP教程-程序員看淘寶,如何用Session保存用戶狀態(tài)
。