关于cookie没有马上过期的问题,100分
验证用户登录使用了cookie,这里没有什么问题
HttpCookie cookie = new HttpCookie("User");
cookie.Values.Add("username",Txt_User.Text);
Response.AppendCookie(cookie);
在注销时使用了
Response.Cookies["User"].Expires=DateTime.Now;
Response.Redirect("Default.aspx");
然后到了首页以后,检验Response.Cookies["User"],确实是null
但我上传到租用的空间上以后做同样的操作
发现Response.Cookies["User"]不是null
而Request.Cookies["User"].Values["username"]是null
谁能解释一下么?关于cookie过期是怎么处理的
这个和客户端和服务器时间不一致有关系么?
问题点数:100、回复次数:9Top
1 楼eboywy(飞影)回复于 2004-08-03 08:50:16 得分 0
markTop
2 楼smoothwood(吾谁与归)回复于 2004-08-03 09:08:13 得分 20
不用Response.Cookies["User"].Expires=DateTime.Now;
用Request.Cookies.Remove("User")Top
3 楼zhanqiangz(闲云野鹤-Overriding)回复于 2004-08-03 09:09:49 得分 20
formsauthentication.redirectfromloginpage(txtname.text,true)
or formsauthentication.setauthcookie(txtname.text,true)
when you want to sign out ,try
formsauthentication.signout
or cookies.removeTop
4 楼goody9807(http://goody9807.cnblogs.com)回复于 2004-08-03 09:13:01 得分 50
>>>Response.Cookies.Remove("MyCookie");Top
5 楼goody9807(http://goody9807.cnblogs.com)回复于 2004-08-03 09:15:53 得分 0
HttpCookie cookie = Request.Cookies[strKey];
if(null == cookie)
{
//cookie不存在
}
先看看有没有写入客户端
cookie=new HttpCookie("www.xx.org");
cookie.Values.Add("UserType", ddlLoginType.SelectedItem.Value);
cookie.Values.Add("UserName", tbUserName.Text.Trim());
cookie.Values.Add("Password", tbPassword.Text.Trim());
cookie.Values.Add("Access",i.ToString());
Response.AppendCookie(cookie);
//检查COOKIE是否已经写入浏览器
cookie = Request.Cookies["www.xx.org"];
if(cookie==null||cookie.ToString()=="")
{
//用session存储
LoginUser loginUser = new LoginUser();
loginUser.UserName = tbUserName.Text.Trim();
loginUser.Password = tbPassword.Text.Trim();
loginUser.UserType = ddlLoginType.SelectedItem.Value;
loginUser.Access = i;
Session["www.xx.org"] = loginUser;
}
我以前的代码,没有问题的
>>>页面仅仅是刷新了一次
if you debug, does the code get executed at all? by the way, are you doing any validation?
>>>然后是删除
>>>Response.Cookies.Remove("MyCookie");
>>>Response.Redirect("....") // 转向
you probably should set the cookie's Expires property to a time in the pastTop
6 楼whxleem(feeling)回复于 2004-08-03 09:16:08 得分 0
markTop
7 楼gxsun(小毛猪)回复于 2004-08-03 09:19:51 得分 5
用Response.Cookies.Remove("User");Top
8 楼xinshaw(清瘦卫郎)回复于 2004-08-03 09:23:28 得分 5
注销时同时删除 cookieTop
9 楼goody9807(http://goody9807.cnblogs.com)回复于 2004-08-03 09:26:34 得分 0
//保存用户的Cookie
HttpCookie objCookie=new HttpCookie("LoginCheck");
objCookie.Value=txtUser.Text.Trim();
DateTime dt=DateTime.Today;
TimeSpan ts=new TimeSpan(int.Parse (listcookie.SelectedItem.Value),0,0,0);
objCookie.Expires=dt+ts;
Response.Cookies.Add(objCookie);
//然后我判断是否过期:
if(Request.Cookies["LoginCheck"]==null)
{
//设置当前用户为登陆状态
Session["UserName"]=Request.Cookies["LoginCheck"].Value;
Response.Write("你已经登陆了");
}
Top




