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, "用户名和密码不正确");
            }
        }

    } 

posted @ 2011-11-04 09:58  Sue_娜  阅读(734)  评论(0编辑  收藏  举报