IE11等新版本的瀏覽器更新 User-Agent 導致的 ASP.Net 網站無法寫入Cookie 問題
阿新 • • 發佈:2018-11-28
一個專案裡用到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