YAF要整合到NBS,需要改写NBS的cookie,特别是UserName
由于在页面很多地方都用到Page.User.Identifier.Name,而这个是用到cookie。整合YAF后,Page.User.Identifier.Name得到的登录名就并不是真正的UserName,而是类似“2;1;***”之类的。问题是,这样改变了,原来用到Page.User.Identifier.Name的地方并不会报错,只是load不到数据而已
为了解决这个问题,一个办法就是在用户注册或者登录的时候,将输入的UserName保存到另外的cookie里面,然后在需要的地方,就可以把这个UserName读出来:
code:
HttpCookie hc = new HttpCookie("userName"); //实例化一个新的cookie
hc.Value = txtUserName.Text; //需要保存的值
//cookie生命周期
hc.Expires = DateTime.Now.AddMinutes(Membership.UserIsOnlineTimeWindow);
//Membership.UserIsOnlineTimeWindow是Web.Config设置的用户在线时间
//也就是用户登陆了,当他超过多少时间没有进一步动作,就设置为不在线
Response.Cookies.Add(hc);
没有评论:
发表评论