저는 WebSphere Portal Server에 배치 할 여러 포틀릿을 빌드 중이며 각 포틀릿은 자체 WAR에 배치됩니다. 이제 포털에 로그인하는 동안 사용자가 방문하는 모든 포틀릿을 추적해야합니다.포털 애플리케이션의 세션 식별자
HttpServletRequest servletRequest = PortletUtils.getHttpServletRequest(request);
String sessionId = servletRequest.getSession().getId();
을하지만 로그인 한 후, 내가 방문한 모든 포틀릿/WAR에서 다른 sessionId
값을 받고 있어요 :이를 사용하여 포틀릿에서 세션 식별자를 얻으려고 노력했다. WAR 당 하나의 세션 범위가 있기 때문에 그것이 맞는 것 같습니다.
그래서 포털 세션이 아닌 포털 세션의 식별자를 얻으려면 어떻게해야합니까? 나는 모든 HTTP 요청에서 JSESSIONID
쿠키가 동일하다는 것을 알았지 만, 이것이 서블릿 또는 포틀릿 API를 통해 공개되는지 확실하지 않습니다.
포틀릿 요청을 서블릿 요청으로 캐스팅하고 세션 ID를 조사합니다. 이렇게하려면 com.ibm.wps.pe.pc.std.core.PortletUtils 클래스를 wp.pe.rt.api.jar에서 찾으십시오. PortalServer \ app 또는 PortalServer \ base 디렉토리에서이 jar를 찾으십시오. –