一個項目裏用到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