2009-04-30 389 views
2

我需要在Windows域和J2EE Web應用程序之間實現SSO。SSO對會話超時的影響

我一直在想這會對Web應用程序的會話超時產生什麼影響。我們有2小時的時間。

如果我們實現了一個沒有意義的SSO,那麼我認爲它可能會讓用戶感到困惑。

SSO將顯示Web應用程序立即可用。

我擔心他們會開始填寫表格,然後去吃午飯(或其他東西),並在他們的會話超時後回來。然而,這可能不會立即顯現,因爲SSO將再次簽署(但現在新的會議)。

有沒有人有這樣的經驗和如何處理它?我們是否需要實施某種形式的額外消息傳遞來告訴用戶他們以前的會話已超時並且他們的工作已經丟失?

回答

1

我想你肯定需要彈出一個警告框,如果用戶的會話被重置。讓他們在消息上單擊「確定」並將其重定向到主頁。

另外,我認爲2小時的超時聽起來像一個壞主意,如果你這樣做,我認爲你是。你的意思是用戶在會話超時前登錄後工作2個小時?如果有10分鐘的超時時間,但是當用戶在該會話中發送新的請求時計時器得到重置,是不是更有意義?

+0

我應該更清楚 - 這是一個2小時的無操作超時時間。 – 2009-04-30 10:33:13

0

超時不是從登錄中衡量的靜態固定時間,而是一種不活動的動態測量。

在我們甲肝BUIT 10分鐘後此功能的網站或使網頁回到登錄頁面(JS使用),如果他們希望用戶可以重新開始。

如果他們忙於一個漫長的過程,他們正在審查結果或再檢查的東西像鼠標移動或一些sublte鍵表示,他們還在忙碌。

0

老問題,但在任何情況下,通過它運行:

確實努力,沒有狀態存儲在服務器會話。客戶,很好;後端服務器持久性(如數據庫),沒問題。這兩者之間什麼都不會丟失。當用戶無縫重新認證時,他們不會注意到交換機。超時時間變得無關緊要。

這個答案其實是比較可行的,現在,六年後,因爲有幾個將存儲你的數據,你的前端框架。您仍然可以在服務器上使用Spring Security(說),因爲身份驗證仍在新的會話中;它應該重新在飛行安全信息(SecurityContext中,定義UserDetails等)。無論請求獲取或發送數據都應該「只是工作」。