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