我們注意到,對於我們網站的某些用戶,他們有一個問題,如果他們從外部源(特別是Outlook和MS Word)到他們到達的網站鏈接在網站中,User.IsAuthenticated爲false,即使它們仍然在其他選項卡中登錄。當點擊外部鏈接時瀏覽器未發送FormsAuthentication cookie
經過數小時的診斷後,它似乎是因爲單擊外部鏈接時有時不會發送FormsAuthentication cookie。如果我們在Fiddler中檢查,我們會看到網站中點擊鏈接的不同標題,而點擊Word文檔或電子郵件中的鏈接會導致標題不同。似乎沒有任何錯誤的cookie(具有「/」作爲路徑,沒有域名和未來的到期日期)。
這裏是該cookie被組:
Set-Cookie: DRYXADMINAUTH2014=<hexdata>; expires=Wed, 01-Jul-2015 23:30:37 GMT; path=/
這裏是從內部鏈路發送的請求:
GET http://domain.com/searchresults/media/?sk=creative HTTP/1.1
Host: domain.com
Cookie: Diary_SessionID=r4krwqqhaoqvt1q0vcdzj5md; DRYXADMINAUTH2014=<hexdata>;
在這裏,從外部(字)鏈路發送一個請求:
GET http://domain.com/searchresults/media/?sk=creative HTTP/1.1
Host: domain.com
Cookie: Diary_SessionID=cpnriieepi4rzdbjtenfpvdb
請注意,.NET FormsAuthentication t第二個請求中缺少oken。這個問題似乎並沒有受到Chrome瀏覽器和Firefox瀏覽器默認設置的影響。
這是正常的/預期的行爲,還是有辦法我們可以解決這個問題?