2011-12-05 2 views
2

JBoss 포털에서 Struts 포틀릿으로 개발 된 포털 웹 응용 프로그램에서 작업 중입니다. 그것은 struts-portlet-bridge를 사용합니다.Jboss 포털에서 struts 기반 포틀릿의 세션 무효화

사용자가 로그인 페이지를 표시하기 전에 세션을 무효화하는 코드를 추가하려고했지만 session.invalidate() 동안 예외가 발생했습니다. 그런 다음 로그 아웃 기능을 살펴본 결과 분명히 코드를 작성한 사람은 누구도 session.invalidate()을 실행하지 않고 내가 만난 동일한 이유로 추측합니다.

그런 다음 나는 "스트럿 포틀릿 다리"에 대한 구글에서이 말한다 링크 (http://docs.oracle.com/cd/E19583-01/819-4605/gblnb/index.html) 발견 :

을 포틀릿으로 배포 된 스트럿 응용 프로그램, 사용하여 세션을 무효화하는 경우> session.invalidate을 (), struts-portlet 브릿지가 얻은 세션은> 유효하지 않은 것입니다. 이 때문에 브리지는 렌더링 관련 정보를 저장할 수 없습니다. 애플리케이션 서버에서, 포틀릿으로 배치 된 struts 애플리케이션은 동일한 세션이 struts portlet bridge에 의해 사용되므로> session.invalidate()를 사용하면 안됩니다.

누구에게도 해결책이 있습니까? Struts Action 메서드에서 session.invalidate()을 사용하지 않고 세션을 무효화하려면 어떻게해야합니까?

답변

0

우리는 JBoss EPP v5.1에서이 문제점에 부딪혔다. 로그 아웃 클릭시 포틀릿 세션이 무효화되지 않고 사용자가 다시 로그인하면 이전 데이터 (포틀릿 세션에 이전 로그인 중에 저장 됨)). 또한이 문제는 JEPP v5.2 릴리스에서 수정되었으며 현재이 버전으로 마이그레이션되고 있습니다.