1. 程式人生 > >IE11等新版本的瀏覽器更新 User-Agent 導致的 ASP.Net 網站無法寫入Cookie 問題

IE11等新版本的瀏覽器更新 User-Agent 導致的 ASP.Net 網站無法寫入Cookie 問題

一個專案裡用到forms身份認證,近來突然在谷歌瀏覽器裡以及相應的360等瀏覽器,不能儲存COOKIE,試了很多辦法,終於解決了,做個記錄以備候查。

  1. web.config 裡需要 增添machineKey, 如:
    <machineKey validationKey="88CB6CA6CF403C5FBB41C2F62BB7FCFCA05DE7BE" decryptionKey="B8A7CF3816C57176" validation="SHA1" />

     

  2. 增加這些新版本瀏覽器的的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