ASP.NET MVC Forms Authentication Domain属性在Firefox中中断登录

问题描述 投票:5回答:1

我正在尝试跨多个ASP.NET MVC Web应用程序进行共享身份验证。这些应用有不同的子域名,例如x.example.com,y.example.com。我已经生成了一个机器密钥并将其添加到了应用程序的web.config中。我已将域属性添加到forms标记(domain =“example.com”)。

这似乎在Chrome中正常运行。登录到第一个应用程序后,我导航到第二个应用程序,不需要登录。但是,在Firefox中,它似乎打破了登录。当我单击登录按钮时,Firefox似乎很快重新加载登录页面。我无法登录。

什么可能导致这种行为?是否有关于使用此域名编写的cookie,Firefox不喜欢?

c# asp.net-mvc firefox iis forms-authentication
1个回答
0
投票

浏览器使用相同的源策略来确定是否将cookie发送到网站:发送到主机的HTTP请求将包含那些其Domain属性标识主机本身或主机所属的DNS域的cookie。 (路径和端口属性也被考虑在内。)设置cookie时,允许Web服务器省略Domain属性(然后浏览器将此属性设置为服务器的主机名)或将其设置为服务器的父域。例如,主机x.domain1.com可能将域设置为.domain1.com但不能设置为.domain2.com。设置cookie Web服务器使用Set-Cookie HTTP标头;将cookie中继到Web服务器浏览器使用Cookie头。

© www.soinside.com 2019 - 2024. All rights reserved.