2017-08-01 135 views
2

我有一個網站新鮮部署在客戶端的內部網絡。我只能通過Windows Server 2012上的遠程桌面進行測試。IE11不發送會話cookie

網站執行SAML身份驗證:瀏覽器首先從網站接收會話cookie,然後重定向到SAML身份提供商,然後返回到網站與SAML響應一起發送會話cookie。這對於Chrome來說工作正常,但由於某些原因,IE11將不會發回會話cookie,從而阻止服務器接受SAML身份驗證。

我不知道爲什麼IE11無法發送會話cookie。我已經在調試工具的網絡窗格中選中,我得到的餅乾(雖然我無法證實IE實際上是將它存儲):

Set-Cookie ASP.NET_SessionId=yzk4rdznlg534so2xuxqmuv4; path=/; HttpOnly

那麼我重定向到身份提供者,但當回到網站時,它不會發送cookie。該cookie只有HTTP,因此如果控制檯存儲與否,則無法檢入控制檯。我已使用發佈的here發佈的說明查看存儲的Cookie,並且我無法隨時在我的網站上看到Cookie(儘管重定向發生得很快,因此可能會在我有機會看到它之前添加並刪除它) 。

我也相信我已經探索過所有可能的安全和隱私設置,以允許一切,無濟於事。

在情況下,它是很重要的,該網站網址有沒有點(這是https://mmr-pp_sef/

任何想法,我怎麼能解決什麼(或者沒有)發生?

+0

您處於IE11的兼容模式嗎? –

+0

我對此沒有做任何事情,但我怎麼能證實我不是? – youen

+0

這種情況發生在iFrame中的可能性有多大? IE默認不喜歡第三方cookie。 – vap78

回答

0

那麼,事實證明,它與所使用的URL有關(應該儘早檢查我自己,而不是僅僅指出該URL在我的問題中很奇怪)。

顯然,如果主機名中有下劃線_,IE將不會存儲cookie。

  1. 打開文件C:這可以通過修改你的 「hosts」 文件進行驗證\ Windows \ System32下\ drivers \ etc下\主機(你需要管理員權限)
  2. 在添加此行結束並保存文件:

    127.0.0.1 test_site 
    
  3. 在瀏覽器中輸入網址http://test_site(這裏假設你的web服務器監聽127.0.0.1)

  4. 觀察到,IE不會存儲任何cookie中。

我現在唯一的解決方法是使用另一個不包含下劃線的主機名,如test-site

相關問題