2017-03-17 106 views
0

我有两个运行在IIS Express中的ASP.NET网站,其中包含不同端口的localhost。我正在使用FormsAuthentication来记住通过cookie登录。但是,当我登录或注销一个网站时,它会影响其他网站,因此它们似乎共享相同的Cookie。ASP.NET Cookie在两个站点之间错误地共享

这是一个常见问题,还是我可以调整一些东西来避免这种情况?

+2

cookie不会与给定端口隔离。参见[http cookie特定端口](http://stackoverflow.com/questions/1612177/are-http-cookies-port-specific) – cobolstinks

回答

0

http cookie不是与给定端口隔离的。 Are HTTP cookies port specific?

浏览器将基于域发送cookie,不考虑端口。

由于历史原因,cookie包含一些安全性和 隐私不足之处。例如,服务器可以指示某个给定的Cookie用于“安全”连接,但安全属性 不存在活动网络 攻击者的情况下提供的完整性。同样,即使Web浏览器使用通常的“同源策略” 隔离通过不同端口检索到的内容,该主机端口上的所有主机端口也会共享给定主机的Cookie。

如果您想将该cookie限制到同一个域中的应用程序,则需要将cookie设置为特定于虚拟目录。像cookie.domain ='yourdomain/appRootUrl /'。