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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章