2011-10-21 72 views
1

我想開發一個能夠通過HTTP協議在其他服務器上進行身份驗證的java servlet。該服務器發送一個cookie到我的servlet,我想轉發給瀏覽器該cookie並將瀏覽器重定向到另一個url。java servlet轉發cookie

我無法弄清楚如何攔截並通過servlet發送cookie。

對於要使用的方法或類有什麼建議嗎?

回答

0

我沒有明白你的意思是「攔截cookie」,但是發回cookie是非常簡單的,只需將cookie添加到響應對象即可。

Cookie cookie = new Cookie("name", value); 
response.addCookie(cookie); 

再往前你的要求:

request.getRequestDispatcher(path).forward(request, response) 

希望這對你有幫助。

+2

...但是然後cookie被設置爲原始域,而不是其他域。 –

1

這當然是非法的;篡改另一個域的cookie。

Java對Open-ID有很好的支持,這可能適用於您的情況。

對於java站點,會話ID可以同時用作cookie和URL參數(通常爲JSESSIONID)。在這種情況下,你可以使用JSESSIONID參數。

通常一個網站有一個登錄,繼續到某個頁面(類似login.html?url = ...)。 在這種情況下,您可能會嘗試重定向到登錄表單GET-submit。 要找到該URL:調用註銷的書籤URL。

我有一些懷疑,有這樣一個循環孔雖然。