我正在構建幾個Portlet以部署在WebSphere Portal Server上,並且每個Portlet都部署在它自己的WAR中。現在,我需要跟蹤用戶在Portal上登錄時訪問的每個Portlet。我試圖使用此Portlet中獲取會話標識符:門戶應用程序中的會話標識
HttpServletRequest servletRequest = PortletUtils.getHttpServletRequest(request);
String sessionId = servletRequest.getSession().getId();
但我登錄後,我從每個portlet/WAR筆者走訪得到不同sessionId
值。我猜這是有道理的,因爲每個WAR有一個會話範圍。
那麼,如何獲得門戶會話的標識符(不是門戶一)?我看到JSESSIONID
Cookie在每個HTTP請求中都是相同的,但我不確定它是否通過Servlet或Portlet API公開。
嘗試將portlet請求轉換爲servlet請求並查看會話ID。爲此,請使用com.ibm.wps.pe.pc.std.core.PortletUtils類,我認爲wp.pe.rt.api.jar嘗試在PortalServer \ app或PortalServer \ base目錄中找到此jar – 2013-03-16 20:13:47