某个用户退出一个网站导致其他网站用户被redirect到login页面

wnl0008 2012-02-02 04:50:51
各位前辈好,

我现在在做一个小的asp.net网站的过程中遇到下面的问题,不知如何解决,想向各位请教。

我在IIS里面建了两个site,这两个site的代码是一样的,只是web.config不一样。现在我的问题是,如果在IE里面分别打开这两个网站,用不同的用户登录,然后logout其中一个,然后点另外网站上的链接会redirect到login页面。这个问题如何解决?我不知道为何一个网站的logout会影响到另一个网站的用户。我在网上搜了一下,不知道是否和cookie有关。

谢谢!

...全文
112 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wnl0008 2012-02-03
  • 打赏
  • 举报
回复
谢谢各位的解答,我的问题解决了,原因就是两个site的验证cookie的名字一样了,只要在web.config里面设成不同的名字就可以了。
  • 打赏
  • 举报
回复
晕!

不要滥用根域。

对于提供空间的人来说,不要想当然地就让别人把所谓的网站放到自己的服务器上。要设置好隔离措施。
cheniwantyou 2012-02-03
  • 打赏
  • 举报
回复
简单的说应该就是 cookie冲突了,用两个不同的cookie好点
铜臂阿铁木 2012-02-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sunzongbao2007 的回复:]

而是动态的使用一个随机序列,一经生成,永不改变。
[/Quote]

把这个序列生成后持久化在你的文件或者数据库中。
在生成Cookie的时候有个分支:
1.已存在cookie的唯一序列,则使用这个唯一序列作为HttpCookie的Name生成cookie
2.不存在cookie唯一序列,则生成一个随机序列,并持久化在文件或数据库中,以供以后使用,然后用这个唯一序列作为HttpCookie的name,生成cookie
铜臂阿铁木 2012-02-02
  • 打赏
  • 举报
回复
加domain也不好用的。

现在的冲突主要是因为:
1.两个site在同一个域的同一个服务器下,致使domain相同
2.两个site代码一致,猜测你的cookie也没有使用动态的Cookie name,于是造成了冲突。

解决方案:
不是有两个site么,那就给cookie分别命名,不要把cookie的名字硬编码,而是动态的使用一个随机序列,一经生成,永不改变。

这两个site的cookie name就会是不同的了,于是也不会产生现在的冲突了。logout的时候注意使用指定的名字的cookie,不要全删,因为在各自的Context中还是能读到对方的Cookie。
假设A B两个site,A在HttpContext.Current.Request中找到的cookie是:CookieA和CookieB,logout只删除CookieA就好了。
mcycsnd007 2012-02-02
  • 打赏
  • 举报
回复
保存会话的session 或cookie对象名称一样了

起名字的时候改成不一样 或者名字利用登录人的某些信息做下唯一标识 例如session["你"+电话号码]

这样就好
wnl0008 2012-02-02
  • 打赏
  • 举报
回复
To happy184,
我是用cookie存的信息,怎么在cookie里加domain属性?

To Return_false,
我现在就是两个网站,在C:\inetpub\wwwroot下建了两个目录。
  • 打赏
  • 举报
回复
同一个网站只能用同一个session
所以要解决有两个办法,一是把两个目录变成两个网站
第二,把session改成两个不同的值
happy184 2012-02-02
  • 打赏
  • 举报
回复
你是通过什么方式存用户登录信息的, 用的session还是cookie如果用cookie的话要加上domain属性

62,041

社区成员

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

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

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

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