曾经用过的Cookie

  用户登陆记录一般用cookie或session,这里采用的是cookie比较安全,虽然的可能占用服务器的内存。

public T_SysUser CurrentUser
        {
            get
            {
                HttpCookieCollection cs = System.Web.HttpContext.Current.Request.Cookies;
                HttpCookie id = cs["Ma_ID"];
                HttpCookie username = cs["Ma_UserName"];
                HttpCookie userpwd = cs["Ma_UserPwd"];
                HttpCookie usergroup = cs["Ma_UserGroup"];
                if (id != null && username != null && userpwd != null && usergroup != null)
                {
                    return new T_SysUser
                    {
                        ID = int.Parse(id.Value),
                        UserName = HttpUtility.UrlDecode(username.Value),
                        UserPwd = userpwd.Value,
                        Group = int.Parse(usergroup.Value)
                    };
                }
                else
                {
                    throw new Exception("登录超时,请退出系统重新登录");
                }
            }
            set
            {                
                HttpCookie id = new HttpCookie("Ma_ID", value.ID.ToString()) { Expires = DateTime.Now.AddDays(30) };
                HttpCookie username = new HttpCookie("Ma_UserName", HttpUtility.UrlEncode(value.UserName).ToString()) { Expires = DateTime.Now.AddDays(30) };
                HttpCookie userpwd = new HttpCookie("Ma_UserPwd", value.UserPwd.ToString()) { Expires = DateTime.Now.AddDays(30) };
                HttpCookie usergroup = new HttpCookie("Ma_UserGroup", value.Group.ToString() == null ? "" : value.Group.ToString()) { Expires = DateTime.Now.AddDays(30) };


                System.Web.HttpContext.Current.Response.SetCookie(id);
                System.Web.HttpContext.Current.Response.SetCookie(username);
                System.Web.HttpContext.Current.Response.SetCookie(userpwd);
                System.Web.HttpContext.Current.Response.SetCookie(usergroup);
            }
        }

 

 

 

posted @ 2013-07-16 23:47  戒一字  阅读(145)  评论(0编辑  收藏  举报