我对在 ASP.Net 中进行开发相当陌生,并且我一直在寻找解决这个问题的方法,但无济于事。我正在使用表单身份验证对用户进行身份验证,当我使用用户 A 登录时,我放弃了当前会话,生成一个新的会话 cookie/id 并重定向到我的内容页面,一切都按计划进行。但是,当我打开一个新的浏览器窗口并导航到登录屏幕,从而启动一个新会话时,用户 A 的身份验证 cookie 会自动传递给此会话,并且是请求 cookie 集合的一部分。更糟糕的是,当我以用户 B 的身份实际登录并获取新的身份验证 cookie 然后刷新会话 A 的浏览器窗口时,它现在具有用户 B 的身份验证 cookie。
我不知道为什么会这样。我认为浏览器(IE9)正在缓存身份验证cookie,因为即使我在我的代码隐藏中专门设置了 Response.Cache.SetCacheability("no-cache") 响应头集合设置为缓存控制“私有”对于所有页面。然后我在想这可能是一个线程问题。
非常感谢您对为什么会发生这种情况的任何见解,谢谢。