繁体   English   中英

ASP.Net Forms身份验证Cookie跨会话传递

[英]ASP.Net Forms Authentication cookie is passed across sessions

我对使用ASP.Net进行开发还很陌生,但我一直在高低寻找解决方案,但无济于事。 我正在使用表单身份验证来对用户进行身份验证,当我与用户A登录时,我放弃了当前会话,生成了一个新的会话cookie / id,并重定向到我的内容页面,一切按计划进行。 但是,当我打开一个新的浏览器窗口并导航到登录屏幕,从而启动一个新会话时,用户A的身份验证cookie将自动传递到此会话,并且是请求cookie集合的一部分。 更糟糕的是,当我实际以用户B身份登录并获取新的身份验证cookie,然后刷新会话A的浏览器窗口时,它现在具有用户B的身份验证cookie。

我不知道为什么会这样。 我以为浏览器(IE9)正在缓存身份验证cookie,因为即使我在后台代码中特别设置了Response.Cache.SetCacheability(“ no-cache”),响应头集合也被设置为缓存控制“私有”对于所有页面。 当时我以为这可能是线程问题。

非常感谢您对为什么会发生这种情况的任何见解。

尝试使用其他浏览器,例如Chrome和IE。 因为浏览器甚至在新窗口中打开都共享相同的cookie和临时文件。 如果您尝试使用gmail.com或live.com,则会发生上述情况。

检查您的web.config文件中的会话设置。

查看以下链接:

http://msdn.microsoft.com/zh-CN/library/system.web.security.formsauthentication.enablecrossappredirects.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM