Cookie 注销问题

yzh0523 2006-01-08 12:04:16
为了使多个网站(同一域名)共享登录信息,我采用了Cookie保存登录信息。
登录部分代码如下:
HttpCookie cookie = new HttpCookie ("LOGON_USER");
cookie.Domain = ".website.com";
cookie["UserName"] = "XXXX";
cookie["NetName"] = "ZZZZ";
……
HttpContext.Current.Response.Cookies.Add (cookie);

注销代码:
HttpCookie cookie = Request.Cookies["LOGON_USER"];
if (null != cookie)
{
cookie.Expires = DateTime.Now.AddDays (-2);
Response.Cookies.Set(cookie);
}

点击注销按钮无法实现注销,但去除cookie.Domain属性设置后,可以正常注销。
不知那位朋友实现过类似的功能,敬请指点。
...全文
690 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldmoon 2006-01-09
  • 打赏
  • 举报
回复
cookie["UserName"] = "",不行?
javaftp 2006-01-09
  • 打赏
  • 举报
回复
ding !
lgm7634 2006-01-09
  • 打赏
  • 举报
回复
用这句就可以了: System.Web.Security.FormsAuthentication.SignOut();
yzh0523 2006-01-09
  • 打赏
  • 举报
回复
zbyh331(我才刚上路耶!)
谢谢你的回复,这个方法,我用过,无法注销
yzh0523 2006-01-09
  • 打赏
  • 举报
回复
楼上的方法正确,再次感谢
miandan 2006-01-09
  • 打赏
  • 举报
回复
在注销时,需要同样设置 Domain 属性。
yzh0523 2006-01-09
  • 打赏
  • 举报
回复
楼上的方法好是好,但服务器在机房呀:(
Bogard 2006-01-09
  • 打赏
  • 举报
回复
重启IIS,就注销了!!~~~~~~~~!

重启服务器就注销了.!~~~~!

直接按POWER也能注销..不过请按长点时间...

当然拔电源更快!!!

这是我知道的五个方法中的四个.另一个就不说了!这一版的人都知道
zhangweiguo3984 2006-01-09
  • 打赏
  • 举报
回复
点注销按钮的时候,你把COOKIES设置成立即过期不行吗?
yzh0523 2006-01-09
  • 打赏
  • 举报
回复
唉,有人做过吗?
cityhunter172 2006-01-08
  • 打赏
  • 举报
回复
同一域名的话,好办。
你可以在身份验证票的 UserData 中存储数据,运行 SignOut 将直接移除身份验证 Cookie


ASP.NET 安全认证(一)——如何运用 Form 表单认证
介绍 Form 表单认证的用法:修改 Web.config;登录与退出的 .cs 代码;判断验证与否及获取验证后的用户信息;

ASP.NET 安全认证(二)——灵活运用 Form 表单认证中的 deny 与 allow 及保护 .htm 等文件
介绍 Form 表单认证的实战运用:Web.config 的作用范围;允许与拒绝某个用户;集中整个项目中的 Web.config;保护 .htm 、.js 等普通文件

ASP.NET 安全认证(三)——用Form 表单认证实现单点登录(Single Sign On)
述了 Machine.config 的内容及其与 Web.config 的关系;实现单点登录(Single Sign On)的前提与步骤;Cookie 在 ASP.NET 的用法;如何创建永久性 Cookie

详见我的博客:http://blog.csdn.net/cityhunter172/
cat_hsfz 2006-01-08
  • 打赏
  • 举报
回复
同一域名也可以用Session啊,改为StateServer或者SqlServer就可以了。
zbyh331 2006-01-08
  • 打赏
  • 举报
回复
int UserID=int.Parse(Request.Cookies["UserID"].Value);
HttpCookie hcUserID=new HttpCookie("UserID",UserID.ToString());
hcUserID.Expires=DateTime.Now.AddSeconds(0.1d);
this.Response.Cookies.Add(hcUserID);

重新保存一下COOKIER,把时间设置为很短,然后添加cookier,这样cookier就消失了。
yzh0523 2006-01-08
  • 打赏
  • 举报
回复
Response.Cookies.Remove("LOGON_USER");我早试过了,没有用的,真是搞不懂为什么注销不掉:(
hedongfu 2006-01-08
  • 打赏
  • 举报
回复
Response.Cookies.Remove("name");
自然框架 2006-01-08
  • 打赏
  • 举报
回复
cookie["UserName"] = ""

试一试

检查的时候 == "" 就是无效的。
ChengKing 2006-01-08
  • 打赏
  • 举报
回复
try

Response.Cookies.Remove("LOGON_USER");
yzh0523 2006-01-08
  • 打赏
  • 举报
回复
奇怪,我的贴子为什么在列表里看不见???

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧