C# 如何實現記住密碼功能

一般通常情況下,都是使用cookie來記錄用戶名和密碼。以下是部分代碼:

第一登陸時候代碼:


 protected void Page_Load(object sender, EventArgs e)
        {
            HttpCookie cookies = Request.Cookies["platform"];
            //判斷是否有cookie值,有的話就讀取出來
            if (cookies != null && cookies.HasKeys)
            {
                tbxUserName.Text = cookies["Name"];
                //tbxPwd.Text= cookies["Pwd"];
                tbxPwd.Attributes.Add("value", cookies["Pwd"]);
                this.chkState.Checked = true;
            }
        }
        protected bool getUser()
        {
            string userName = tbxUserName.Text.Trim();//用戶名
            string userPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(tbxPwd.Text.Trim(), "MD5"); //MD5密碼
            StringBuilder strWhere=new StringBuilder();
            strWhere.AppendFormat("auserName='{0}' and auserPassword='{1}'", userName, userPwd);
            bl.A_TUser user = new bl.A_TUser();
            DataSet ds = new DataSet();
            ds=user.GetList(strWhere.ToString());
            if (ds.Tables[0].Rows.Count>0)
            {
                if (chkState.Checked)//記錄cookie值
                {
                      HttpCookie cookie = new HttpCookie("platform");
                      cookie.Values.Add("Name", tbxUserName.Text.Trim());
                      cookie.Values.Add("Pwd", tbxPwd.Text.Trim());
                      cookie.Expires = System.DateTime.Now.AddDays(7.0);
                      HttpContext.Current.Response.Cookies.Add(cookie);
                }
                //else
                //{
                //    if (Response.Cookies["platform"] != null)
                //        Response.Cookies["platform"].Expires = DateTime.Now;
                //}
                Session["userId"] = ds.Tables[0].Rows[0][0].ToString();
                Session["userName"] = ds.Tables[0].Rows[0][1].ToString();
                return true;
            }
            return false;
        }
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            if (getUser())
            {
                Response.Redirect("Default.aspx");
            }
            else
            {
                MessageBox.Show(this, "用戶名和密碼不正確");
            }
        }

    } 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章