【问题标题】:Mixed up browser sessions混合浏览器会话
【发布时间】:2017-03-24 23:13:19
【问题描述】:

我们在同一个后端服务器上安装了 2 个 asp.net MVC 应用程序,使用同一个端口。在同一个浏览器中打开这两个应用程序会导致它们的会话受到干扰。

我想知道如何在不触及服务器基础架构的情况下避免这种情况? 我正在考虑在两个应用程序启动时清除所有会话,但我不确定如何执行此操作或这是否是个好主意?

【问题讨论】:

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


    【解决方案1】:

    如果站点位于相同的子域/域,则默认情况下它们将共享 cookie。这是因为 cookie 是域绑定的。 没有办法,但是您可以自定义每个应用程序使用的 cookie 名称,因此即使它们都会收到相同的 cookie,它们只会弄乱属于它们的那个。对于会话,这可以通过将 cookieName 属性添加到站点 Web.config 中的 <sessionState> 元素来实现:

    <sessionState ... cookieName="Website1_SessionId" />
    

    如果您同时在两个站点上处理身份验证,您将需要类似地自定义身份验证 cookie 名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-11
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-11
      • 2013-07-15
      相关资源
      最近更新 更多