一个项目里用到forms身份认证,近来突然在谷歌浏览器里以及相应的360等浏览器,不能保存COOKIE,试了很多办法,终于解决了,做个记录以备候查。
- web.config 里需要 增添machineKey, 如:
<machineKey validationKey="88CB6CA6CF403C5FBB41C2F62BB7FCFCA05DE7BE" decryptionKey="B8A7CF3816C57176" validation="SHA1" />
- 增加这些新版本浏览器的的User-Agent是不:
在网站的根目录,新增一个浏览器定义文件,步骤如下:
(1)、添加一个"App_Browsers"文件夹 ;
(2)、添加一个"*.browser"后缀的文件,如 IE10.browser;
(3)、在文件中添加如下内容(下面的配置表示,对所有的设备和浏览器,都支持Cookies):
<browsers>
<browser refID="Default">
<capabilities><!-- To avoid wrong detections of e.g. IE10 -->
<capability name="cookies" value="true" />
<capability name="ecmascriptversion" value="3.0" />
</capabilities>
</browser>
</browsers>
(4).修改完后,再到命令行下将修改后的 .browser 文件编译成程序集并安装到GAC中,如果是Windows Server 2008、Win7 win10,要以管理员身份运行命令行:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regbrowsers.exe -i
其中具体原因和详细可以访问https://www.cnblogs.com/maoniu602/p/3799958.html