【发布时间】:2017-03-24 23:13:19
【问题描述】:
我们在同一个后端服务器上安装了 2 个 asp.net MVC 应用程序,使用同一个端口。在同一个浏览器中打开这两个应用程序会导致它们的会话受到干扰。
我想知道如何在不触及服务器基础架构的情况下避免这种情况? 我正在考虑在两个应用程序启动时清除所有会话,但我不确定如何执行此操作或这是否是个好主意?
【问题讨论】:
标签: angularjs asp.net-mvc session-cookies
我们在同一个后端服务器上安装了 2 个 asp.net MVC 应用程序,使用同一个端口。在同一个浏览器中打开这两个应用程序会导致它们的会话受到干扰。
我想知道如何在不触及服务器基础架构的情况下避免这种情况? 我正在考虑在两个应用程序启动时清除所有会话,但我不确定如何执行此操作或这是否是个好主意?
【问题讨论】:
标签: angularjs asp.net-mvc session-cookies
如果站点位于相同的子域/域,则默认情况下它们将共享 cookie。这是因为 cookie 是域绑定的。 没有办法,但是您可以自定义每个应用程序使用的 cookie 名称,因此即使它们都会收到相同的 cookie,它们只会弄乱属于它们的那个。对于会话,这可以通过将 cookieName 属性添加到站点 Web.config 中的 <sessionState> 元素来实现:
<sessionState ... cookieName="Website1_SessionId" />
如果您同时在两个站点上处理身份验证,您将需要类似地自定义身份验证 cookie 名称。
【讨论】: