国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

程序員看淘寶,如何用Session保存用戶狀態(tài)_ASP教程

2024-07-21 02:05:05
字體:
供稿:網(wǎng)友

推薦: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)用程序安全性。通俗點來說:

 網(wǎng)上購物已經(jīng)成為現(xiàn)在生活不可缺少的一部分。我們上淘寶只是為了消費,今天換一個角度,用程序員的眼光看看淘寶。

程序員看淘寶,如何用Session保存用戶狀態(tài)

如上圖:

情況一:當(dāng)打開一些和賬戶有關(guān)的網(wǎng)頁,檢測用戶沒有登錄,系統(tǒng)自動會跳轉(zhuǎn)到登錄界面。

情況二:當(dāng)檢測到已經(jīng)有用戶登錄,頁面會自動跳轉(zhuǎn)到目的頁面。

問題:系統(tǒng)如何檢測用戶是否登錄,如何保存用戶的登錄狀態(tài)?

下面說說自己的理解:利用Session保存用戶狀態(tài),

解決方案一:每個用戶都有一個Session對象相對應(yīng),當(dāng)用戶想要跳轉(zhuǎn)到任意跟賬戶有關(guān)的界面(已買到的寶貝頁面),每個頁面加載的時候都要判斷Session對象保存的用戶狀態(tài)。

1. 登錄界面的代碼:

  1. public partial class Login : System.Web.UI.Page  
  2.    {  
  3.        protected void Page_Load(object sender, EventArgs e)  
  4.        {  
  5.        }  
  6.        protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)  
  7.        {  
  8.            Session["UserFlag"] = false;//首先設(shè)置會話值UserFlage表示用戶是否登錄  
  9.            if (UserVolidate(Login1.UserName, Login1.Password) == true)//調(diào)用自定義方法,驗證用戶是否登錄成功  
  10.            {  
  11.                Session["UserFlag"] = true; //登錄成功  
  12.                e.Authenticated = true;  
  13.                Response.Redirect("Main.aspx"); //跳轉(zhuǎn)主界面  
  14.            }  
  15.            else{  
  16.                Response.Write("未登錄"); //否則提示未登錄  
  17.            }  
  18.        }  
  19.        /// <summary>  
  20.        /// 用戶登錄驗證  
  21.        /// </summary>  
  22.        /// <param name="userName">用戶名</param>  
  23.        /// <param name="userPassword">用戶密碼</param>  
  24.        /// <returns>bool</returns>  
  25.        private bool  UserVolidate(String userName, String userPassword)  
  26.        {  
  27.            //連接數(shù)據(jù)庫  
  28.            SqlConnection con = new SqlConnection("server=.;database=User;uid=sa;pwd=123456;");  
  29.            con.Open();  
  30.            SqlCommand cmd=new SqlCommand ("select * from UserInfo where UserName="+userName +" and Password="+userPassword );  
  31.            int num=cmd.ExecuteNonQuery ();  
  32.            if (num>0)  
  33.            {  
  34.               return true;  
  35.            }  
  36.            else 
  37.            {  
  38.                return false;  
  39.            }  
  40.        }  
  41.          
  42.    } 

分享: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 的性

共2頁上一頁12下一頁
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 绥阳县| 洛宁县| 深圳市| 莲花县| 灵台县| 鄂温| 巴马| 洛宁县| 阳西县| 泰来县| 潼关县| 开化县| 屏东县| 上杭县| 湖南省| 北川| 高雄市| 措勤县| 贵阳市| 璧山县| 胶南市| 余江县| 克什克腾旗| 阿拉善盟| 阿尔山市| 刚察县| 正安县| 伊金霍洛旗| 阳曲县| 竹北市| 民县| 莫力| 从化市| 祥云县| 沁源县| 永年县| 蒲城县| 延津县| 新沂市| 天祝| 谢通门县|