2011-11-18 19 views
0

我有最奇怪的情況...ASP.NET應用程序池經常性地註銷用戶

在我的ASP.NET網站上,當應用程序池回收時用戶已註銷。這可以。我知道這是假設發生的。但是當用戶重新登錄並選擇網站中的任何鏈接時,他們會立即退出。他們一直註銷。我不知道是什麼原因造成的,我不知道如何解決。

奇怪的部分是解決方法。如果我從另一臺計算機或從IIS服務器本身登錄,而不是登出的用戶可以重新登錄。

有沒有人對發生了什麼有什麼想法?

回答

0

我發現了這個問題。在ASP.NET配置的安全設置中,登錄的每個用戶都需要具有在「說明」字段中定義的角色之一。這對我來說很奇怪,但它似乎在伎倆。任何人都知道爲什麼需要這樣做?

3

ASP.NET中的標準表單身份驗證基於cookie,不應受會話消失影響。但是,您可能依賴會話中的某些內容來確定用戶是否已登錄。如果您使用的是進程內會話存儲(聽起來像您),那麼您的應用程序代碼可能會出現奇怪的行爲,如果您會進入表單身份驗證cookie仍然存在並且有效但會話信息丟失的狀態。不要去一臺不同的電腦,嘗試吹走你的cookies並重新登錄,我會推測你的問題已經解決。

一步就是轉移到進程外會話存儲(如ASP.NET狀態服務器,這對於幾個配置更改很簡單)或完全消除會話使用情況(取決於存儲的值在Cookie中,儘管存在安全隱患以考慮這些值是否未加密)。然後,仔細查看應用程序代碼如何處理設置了登錄cookie但會話數據無效的情況。

這是基於提供的信息在黑暗中拍攝的照片,但希望它能讓您或其他人走上正確的軌道。

+0

感謝您的幫助......我正在調查此問題。但我有更多的信息。這不是一個不同的計算機或瀏覽器,它修復了登錄用戶的問題。我目前正在研究用戶之間的不同之處 – dcinadr

+0

登錄的用戶需要分開.NET授權規則。我不想這樣做。用戶在數據庫中進行管理。我不想每次都將它們添加到配置中。我究竟做錯了什麼? – dcinadr

相關問題