aspnet webform 记住用户名密码

原理:使用cookie记住用户名密码,登录时判断有无该cookie,有则取出存在cookie中的数据赋值给页面控件,没有则直接进入页面;点击登录按钮时,判断是否需要记住用户名密码,要则新增cookie并返回,不需要则将cookie过期,并返回。

页面加载:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Session.RemoveAll();
            Session.Abandon();

            HttpCookie cookies = Request.Cookies["USER_COOKIE"];
            if (cookies != null)
            {
                this.txtUserID.Value = cookies["UserName"];
                this.txtUserPwd.Attributes.Add("value", cookies["UserPassword"]);
                this.ckRemember.Checked = true;
            }
        }
    }

保存按钮:

if (this.ckRemember.Checked)
                    {
                        HttpCookie cookie = new HttpCookie("USER_COOKIE");
                        //所有的验证信息检测之后,如果用户选择的记住密码,则将用户名和密码写入Cookie里面保存起来。
                        cookie.Values.Add("UserName", this.txtUserID.Value.Trim());
                        cookie.Values.Add("UserPassword", this.txtUserPwd.Text.Trim());
                        //这里是设置Cookie的过期时间,这里设置一个星期的时间,过了一个星期之后状态保持自动清空。
                        cookie.Expires = System.DateTime.Now.AddDays(30.0);
                        Response.Cookies.Add(cookie);
                    }
                    else
                    {
                        HttpCookie cookie = Request.Cookies["USER_COOKIE"];
                        if (cookie != null)
                        {
                            //如果用户没有选择记住密码,那么立即将Cookie里面的信息情况,并且设置状态保持立即过期。
                            Response.Cookies["USER_COOKIE"].Expires = DateTime.Now.AddDays(-1);
                        }
                    }

 

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