首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请问MVC3中用户登录后用户信息保存的有关问题

2012-07-31 
请教MVC3中用户登录后用户信息保存的问题.我在做MVC3应用时,发现我在用户登录的时候用Cookie保存用户数据,

请教MVC3中用户登录后用户信息保存的问题.
我在做MVC3应用时,发现我在用户登录的时候用Cookie保存用户数据,如下:
HttpCookie aCookie = new HttpCookie(User.Identity.Name + "Eid");
aCookie.Value = informations.First().Enterprise_ID.ToString();
aCookie.Expires = DateTime.Now.AddDays(365);
Response.Cookies.Add(aCookie);

但如果客户端关闭了Cookie的话,后面读取这个Cookie时,就读不到了,但mvc3自带的用户登录,即使客户端关闭了Cookie也能够正常读到用户名,而且关闭浏览器后,还能读到,最主要的是我不想使用session,也不想用URL传值,请问怎么实现这个功能呢?

[解决办法]
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
1,
account.UserName,
DateTime.Now,
DateTime.Now.AddMinutes(20),
false,
"admin"//写入用户角色
);

string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
System.Web.HttpCookie authCookie = new System.Web.HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
System.Web.HttpContext.Current.Response.Cookies.Add(authCookie);

热点排行