2014-07-04 79 views
1

最近我們在Azure上託管的網站遇到了一個奇怪的問題。登錄後,用戶立即未經身份驗證,當他們點擊任何鏈接轉到其他頁面時,由於未經身份驗證,他們將被重定向到登錄頁面。它不會一直髮生,但後果是嚴重的,因爲我們甚至不知道什麼時候發生,有沒有例外登錄,只是突然失去了身份驗證 昨天我在生產中遇到了這個問題,並捕獲了請求在時間序列我踢出使用招,找一些不尋常的:在條件GET請求中刪除Cookie

Fiddler captured http://i61.tinypic.com/e5n4mp.png

頁我/我的-測驗登錄後登陸(在綠色)。當我點擊一個鏈接轉到其他頁面(「/ group」鏈接,用綠色)時,我被重定向到登錄頁面。在我對/ my-quizzes和/ group的請求之間,還有其他一些關於javascript,圖像等的請求。奇怪的是,在響應中的高亮請求「uncheckCheckBox.png」中,身份驗證cookie(.SFAUTH- XXX)和其他一些cookie被刪除(設置爲空字符串,有效日期= 12/10/1999)。這是繼/組頁面請求是未經驗證的原因

我們的網站是建立在Sitefinity的頂部,使用ASP.NET MVC

我的問題是:

  • 是正常有Cookie在這樣的圖片請求中被刪除?這只是一個有條件的GET來檢查圖像是否被修改,這對我來說很不尋常。但我無法解釋爲什麼會發生這種情況
  • 任何關於我們如何調試這個被刪除cookies的建議?

回答

0

您的網站上運行着多少個Azure實例? 如果有多個 - 您是否配置了Sitefinity負載平衡模塊?

當您單擊/ Group頁面鏈接時,請求可能會轉到另一個未通過身份驗證的Azure實例(例如由於LB配置不正確)。

你有定期回收應用程序池嗎?這也可能是另一個原因。

+0

嗨,非常感謝您的回覆。我們在Azure上使用Sitefinity,並且從Sitefinity的文檔中,我們不需要配置Sitefinity負載平衡,因爲Sitefinity將使用Azure API進行負載平衡(http://www.sitefinity.com/documentation/documentationarticles/sitefinity-azure-組態)。我們禁用了應用程序池中的大部分設置,這些設置可能會影響回收,如請求限制,內存限制等。但我們設置了定期回收(每隔29小時1740分鐘)。但是會話存儲使用Azure緩存,所以這個回收不應該是個問題嗎? –

+0

是的,如果您正在使用Azure雲服務,Sitefinity會自動處理負載平衡。如果您在Azure虛擬機或網站上 - 那麼這不是自動的。 我不認爲在生產環境中定期回收應用程序池是個好主意。對我沒有意義。 –