protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { HttpCookie cookie = Request.Cookies["loginInfo"]; if (cookie != null) { cb_repwd.Checked = true; tb_loginName.Text = UIHelper.Decrypt(cookie["loginName"]); tb_pwd.Attributes.Add("value", UIHelper.Decrypt(cookie["pwd"])); } else { tb_pwd.Attributes.Add("value", "******"); } } } protected void btn_login_Click(object sender, EventArgs e) { if (UIHelper.GetString(Session["Code"]).ToUpper()!=this.tb_code.Text.Trim().ToUpper()) { oJavaScript.Alert("验证码输入不正确"); return; } NetUserService NerService = ContextFactory.GetObject<NetUserService>("NetUserService"); string sql = string.Format("from NetUser where LoginName='{0}'", tb_loginName.Text.Trim()); IList<NetUser> list = NerService.Find(sql); if (list.Count > 0) { if (list[0].Status == 2) { oJavaScript.Alert("帐号已停用,请联系管理员"); return; } } if (NerService.Login(tb_loginName.Text.Trim(), oSecurity.GetPwdEncrypt(tb_pwd.Text.Trim()))) { HttpCookie cookie = Request.Cookies["loginInfo"]; if (cb_repwd.Checked) { if (cookie == null) { HttpCookie cookielogin = new HttpCookie("loginInfo"); setCookies(cookielogin,7); } else { if (UIHelper.Decrypt(Request.Cookies["loginInfo"]["loginName"]) != tb_loginName.Text.Trim()) { setCookies(cookie, 7); } } } else { setCookieExpires(cookie); } oJavaScript.Redirect("/"); } else { oJavaScript.Alert( "用户名或密码不正确"); } } #region cookie /// <summary> /// 设置cookie /// </summary> /// <param name="cookielogin">HttpCookie cookielogin</param> /// <param name="Expires">有效期</param> private void setCookies(HttpCookie cookielogin, int Expires) { cookielogin.Values["loginName"] = UIHelper.Encrypt(tb_loginName.Text.Trim()); cookielogin.Values["pwd"] = UIHelper.Encrypt(tb_pwd.Text.Trim()); cookielogin.Expires = DateTime.Now.AddDays(Expires); Response.AppendCookie(cookielogin); } /// <summary> /// 设置cookie失效 /// </summary> /// <param name="cookielogin">HttpCookie cookielogin</param> private void setCookieExpires(HttpCookie cookielogin) { if (cookielogin != null) { cookielogin.Expires = DateTime.Now.AddDays(-1); ; Response.AppendCookie(cookielogin); } } #endregion
设置cookie过期其实就是修改cookie,必须重新向客户端发送cookie
Request.Cookies取cookie, response,cookies添加cookie
虽然简单,但是不太了解的还是很容易出错
作者:touzilk 发表于2013-12-28 1:53:39 原文链接
阅读:138 评论:0 查看评论