2011-04-15 66 views
0

我的情況如下: 一方面,我有一個運行在tomcat上的web應用程序,spring安全性和會話由tomcat處理。在對Spring進行身份驗證之後,tomcat在瀏覽器中設置會話cookie,將用戶登錄時識別出我。 另一方面,我想開發一個GWT前端,該前端運行在與SDK一起提供的集成jetty服務器中。 GWT應用程序應該能夠通過tomcat應用程序上的AJAX請求調用資源。如何在GWT和Tomcat Webapp之間共享cookie?

我的假設是,GWT應用程序也使用相同的cookie進行身份驗證,因爲兩個應用程序(GWT和tomcat應用程序)都運行在相同的域(本地主機)上,唯一區別在於GWT使用端口8888和tomcat 8080

不幸的是,從GWT到Tomcat Web應用程序的任何請求重定向我到登錄頁面。我試圖爲tomcat設置cookie路徑爲「/」,但這沒有任何影響。

有人知道如何解決這個問題嗎?

我只是想在開發過程中使用這個設置。在生產模式下,我希望由tomcat應用程序直接提供GWT代碼。

謝謝!

+1

好了,發現沒有一個答案,但它是如何工作的一個很好的辦法就是編譯GWT項目並使用一個符號鏈接從Tomcat的編譯GWT模塊。我認爲這是沒有辦法的,因爲html/js必須通過tomcat傳遞,因爲「相同來源策略」 – Markus 2011-04-15 15:01:00

回答

0

當用戶從你的碼頭服務器登錄請求的東西,但在URL中包含cookie字符串。在圖像響應中設置cookie。 /img.gif

在碼頭服務器映射到一個過濾器,增加了餅乾「cookiestring」(: -

例如按登錄成功頁面上,設置的cookie爲Tomcat的一個,加上圖片鏈接並放置那裏1px x 1px空白圖像以及)。完成後,您的簡單單點登錄就緒。

相關問題