【问题标题】:Cookieless sessions in MVC cause shared session between seperate tabs in the browserMVC 中的无 Cookie 会话导致浏览器中不同选项卡之间的共享会话
【发布时间】:2014-04-15 02:59:07
【问题描述】:

我正在努力避免我正在处理的网站的用户可以打开一个新的浏览器选项卡并最终共享同一个会话的问题。

我尝试使用无cookie会话,但一致认为MVC不支持无cookie会话,但在某些条件下确实可以工作

此处不支持明确的答案: ASP.NET MVC and using cookieless sessions

这似乎是个 hack,尤其是当您无法使用 POST 时: MVC2 Cookieless Session Issue using POST

那么,请问如何防止多个选项卡在服务器上被视为同一个会话?

【问题讨论】:

    标签: asp.net-mvc-4 session-cookies


    【解决方案1】:

    浏览器标签共享相同的会话 ID,因为该 ID 来自浏览器。 HTML5 SessionStorage,window.sessionStorage,解决了这个限制。根据您需要的向后兼容性,这可能不可行。

    这会更深入。 How to differ sessions in browser-tabs?

    【讨论】:

    • 谢谢。使用传递给模型中视图的 Guid() 解决了这个问题,以便服务器可以将发布的数据与相关选项卡匹配
    • @SkeetJon - 嗨,我在 MVC 中面临同样的问题。请您用一些示例代码发布答案。您如何在 MVC 中使用 Guid() 解决此问题...在此先感谢
    • 将 guid 添加为模型的属性,然后在回发时服务器知道它属于哪个会话
    猜你喜欢
    • 2021-05-07
    • 2019-04-27
    • 2011-04-27
    • 1970-01-01
    • 2017-05-27
    • 2014-05-19
    • 2011-09-08
    • 2011-02-19
    • 2013-07-07
    相关资源
    最近更新 更多