2011-04-05 43 views
3

我們有一個網上商店Tomcat服務器,我們需要時,他/她在登錄的用戶轉移到另一個(安全)服務器下面是詳細的解釋:如何將會話從一個Tomcat服務器轉移到另一個?

1)我們有兩個Tomcat服務器:一個「常規」(HTTP)和一個安全(HTTPS)

2)用戶開始訪問常規服務器

3)登錄時,我們需要得到他們的日誌中的數據,以及有關信息他們當前正在瀏覽什麼頁面(或正在嘗試查看),將其傳遞到安全服務器並進行實際登錄;例如,未登錄的用戶看到產品列表,點擊「購買」並彈出一個窗口,要求用戶登錄;用戶輸入他/她的憑證,並將這些信息以及他想購買什麼產品的信息傳遞給安全服務器;安全服務器接收這些信息,執行登錄並向用戶顯示所需產品

這怎麼辦?請注意以下幾點:

1)我們嘗試用餅乾做,但我們決定不走那條路

2)會議堅持到數據庫,然後有安全的服務器上獲取它也不是一種選擇

有沒有其他方法?我們正在考慮創建一個對象,然後將它作爲HTTP POST參數傳遞,但我不確定這是如何完成的(我已完成任務)。

值得一提的是,我們使用的技術是Tomcat服務器,Wicket,Spring,iBatis和MySQL。

感謝提前:)

+0

我可以問你爲什麼決定不使用cookies嗎?我一直在使用Cookie來跟蹤跨多個Web服務器的用戶會話。你爲用戶設置一個帶有唯一標識的cookie,如果cookie存在,則在db中查找你的用戶會話。你的第二張鈔票被殺死。 – Speck 2011-04-05 14:35:59

+0

問題出在第二個註釋中。我們不想使用數據庫,所以我們必須保存用戶的用戶名,密碼以及他/她在cookie中點擊的信息(或更多信息)。在cookie中保存用戶名和密碼是一種安全風險......除非這些可以以某種方式得到保護? – Zoolok 2011-04-05 14:55:38

+2

不要在cookie中保存用戶名密碼。把一個唯一的會話ID放入你的數據庫中的cookie與用戶的ip地址和用戶帳戶相關聯。同時使Cookie與他的瀏覽器會話過期。 – Speck 2011-04-05 15:00:14

回答

0

不知道如果我得到你想要的東西的要點,但你可以有「彈出」是從安全應用程序提供一個受保護的URL的網頁。這將導致身份驗證發生在安全服務器上,您可以從那裏開始。例如,如果不安全的產品頁面在www.domain.com/browse/id1上,則「購買」按鈕將打開secure.domain.com/buy/id1彈出窗口,導致在傳輸產品時進行身份驗證編號在URL上。

+0

感謝您的幫助,人們:)我發現Wicket有一個RedirectPage。我通過將安全服務器URL傳遞給構造函數然後執行redirectToInterceptPage(redirectPage)來創建它,但問題是無論我做什麼,我都無法將任何參數/屬性添加到redirectPage。我似乎無法將RequestParameters或PageParameters都傳遞給redirectPage,然後傳遞給安全服務器(它們最終都是空的)。 – Zoolok 2011-04-07 07:30:58

2

如果你想分享不同的Tomcat實例之間的會話,你可以將它們配置爲集羣中工作了會話複製:http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html

然後,你可以配置Apache HTTP服務器的負載均衡工作,確保HTTP請求轉到服務器1,HTTPS請求轉到服務器2.

但是,您也可以只有一個Tomcat實例(或N個相同實例)配置爲處理HTTP和HTTPS,並確保安全訪問與標準(web.xml中的...<transport-guarantee>CONFIDENTIAL</transport-guarantee>...)或框架特定的配置。

+0

嗨,我再次:)對不起,不早點回復,我一直有點忙。我必須添加的內容是:Cookie不能使用,因爲不安全的服務器和安全服務器將位於不同的域中。 Speck的想法是我最喜歡的,我開始實施它,但由於它使用了Cookie,我無法使用它。因此,我會嘗試在網上商店設置登錄表單,將其內容直接提交給安全服務器。說實話,我不知道如何做到這一點。我到目前爲止所做的嘗試是將所需的所有參數「注入」到RequestCycle中...... – Zoolok 2011-04-15 07:19:29

+0

...爲此,我擴展了RedirectRequestTarget,並嘗試將請求參數插入到Request中。我也注意到,您只能將Cookie添加到響應中。無論如何,爲了簡化故事,一旦我到達安全服務器,所有參數都會丟失。如果有人對此有任何想法,我想再聽一聽:) – Zoolok 2011-04-15 07:24:51

相關問題