2011-12-16 52 views
1

我們有我們想要同一個用戶可以登錄 使用相同的登錄信息,但對於不同的標籤得到不同的會話SmartGWT的應用程序(使用Spring Security)。多GWT會議同時在同一瀏覽器

  1. 用戶1打開與應用
    • 一個瀏覽器標籤TAB1獲取會話SESSION1
    • 選擇一個角色...
  2. 用戶2打開一個瀏覽器的新TAB2與應用程序

    • 獲得新會話會話2

    用戶使用TAB1和TAB2並聯。會議不應該互相影響。

我們目前的應用程序使用彈簧安全。基於角色 GrantedAuthorities爲用戶可能沒有問題。但我們寧願有完整的不同會話以便簡化應用程序的代碼 。

一個cookie基於會話系統不似乎是可能的,沒有會話失效。 但會話不應失效...只有新會話應附加到新選項卡。

HttpSession.getSession(真),只有當不存在返回一個新的會話。

這似乎是可能的,以創建一個新的會話中使用的URL重寫方法。 1誰能告訴我們是否有可能和

1a如果是的話,給我們一個實現問題的想法 或步驟。

一方面我不完全確定如果使用URL重寫方法會產生什麼後果。

2點這是否意味着,如果客戶端發送沒有一個新的會話創建的會話ID的請求

3是否URL重寫方面已爲GWT後端

回答

1

其他後果。由於只有一個會話可以附加到瀏覽器和網站,我可以考慮的唯一方法是爲每個選項卡設置不同的子域,這將強制創建新的會話(此時還有一個新的登錄名,所以openid登錄會很方便)。

我的意思是有,例如www.yourdomain.com在標籤1中,www2.yourdomain.com在標籤2中,www3.yourdomain.com在標籤3中等等,直到合理的最大數量的標籤。

或者,如果可能的話,教育用戶有2個或3個不同的瀏覽器(例如Firefox,Opera,Chrome,Safari,以提及好的)會簡單得多。

+0

這似乎在會話存儲與cookies是這種情況。但是,如果您禁用會話cookie,情況如何? – user1102074 2011-12-20 12:16:22