2016-03-14 31 views
0

有兩種應用服務器:http://localhost:9080/appAhttp://localhost:9081/appB爲什麼websphere的自由簡介刪除LtpaToken2的cookie

的appA託管在WebSphere,這是在我的掌握。它將JSESSIONID和LtpaToken2設置爲路徑「/」

appB在Liberty Profile上,我完全控制它。我不使用會話或單一登錄。我有一個簡單的REST服務器回顯用戶輸入。沒有返回cookie。

我在瀏覽器中打開appA,登錄,看到cookie(JSESSIONID和LtpaToken2)。打開另一個選項卡去appB,然後馬上我看到LtpaToken2 cookie不見了,JSESSIONID仍然在那裏。回到appA標籤,導航到另一個頁面,用戶被踢出。

什麼可能使LtpaToken2從Liberty Profile中消失?

+0

包括逐字HTTP標頭將有助於 – covener

回答

0

你在日誌中看到什麼錯誤/消息?

假設在完整配置文件(WAS)和Liberty配置文件之間不交換ltpa密鑰,當令牌提交給Liberty並且必須進行身份驗證(訪問受保護的servlet時),它將失敗並刪除co​​okie。

另一種可能性是,如果進入自由的會話由於某種原因而無效,則執行註銷。會話是在這裏分享還是應該爲每個應用創建一個新的會話?

一個解決方案是在WAS和Liberty中都有自定義的ltpa cookie名稱,所以不會混淆其他cookie。

但是,如果他們需要參與SSO,則需要交換LTPA密鑰。

+0

你是對的。鑰匙不交換。這兩個應用程序彼此不相關。 AppB沒有任何受保護的資源。這兩個人不相互參與SSO。我試圖更改AppB上的cookie名稱(我沒有AppA的控制權),但仍然無法工作。 AppB可以正常工作,但是在訪問AppB之後,它會刪除Cookie中的AppA令牌,以便我無法再訪問AppA並轉到登錄頁面。 – hls

+0

如果沒有日誌無法確認可能發生的情況,但是如果您的AppB不需要安全性,則一種選擇是禁用useAuthenticationDataForUnprotectedData屬性並查看它是否有任何區別:。 Liberty服務器中是否還有其他應用程序需要保護(即需要安全功能)? – Ajay

+0

''!現在訪問appB不會影響訪問appA。我一直通過https://www.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.doc/autodita/rwlp_metatype_4ic.html,但以某種方式錯過了該屬性。謝謝! – hls