2013-12-13 2 views
0

우리의 응용 프로그램은 Liferay에서 개발되었으며 페이지에 여러 개의 스프링 MVC 포틀릿이 있습니다. 그것의 단일 페이지 응용 프로그램 및 탐색은 포틀릿 내부에서만 발생합니다. 이제 Liferay 세션 시간이 초과되어 새로운보기를 위해 컨트롤에 요청을 보내면 liferay 로그인 페이지가 포틀릿 내부에 표시됩니다. 그러나 예상되는 동작은 평생 세션이 시간 초과 된 경우 전체 페이지가 로그인 페이지로 리디렉션되어야한다는 것입니다. I는 portal-ext.properties다중 스프링 MVC 포틀릿이있는 Liferay에서 세션 시간 초과

session.timeout.warning=1 
session.timeout.auto.extend=false 
session.timeout.redirect.on.expire=true 
browser.cache.signed.in.disabled=true 

모든 제안에 다음과 같은 속성을 지정한?

+0

시도 포털-EXT에 auth.login.url에서 =/웹/손님/홈을 추가, 당신은 버튼 클릭에 전화하는 방법에서 다음을 수행합니다. 로그인 포틀릿이 삭제되는 등록 정보 –

답변

0

포틀릿에서 Ajax 탐색 만하는 경우 Liferay의 세션 확장 방법에 연결하고 싶을 수도 있습니다 (클라이언트를 조사해야하는 클라이언트 측 타이머가 있습니다. "세션 .timeout.warning "- 지금 포인터를 제공 할 수 없음)

또는 브라우저 창을 열어두면 세션 확장을 사용할 수있는 경우 동일한 메커니즘을 사용하여 다른 동작을 표시 할 수 있습니다. 기꺼이 세션을 시간 초과하면 세션을 확장 할 수 있습니다. portal (-ext) .properties 참조 :

# 
# Set the auto-extend mode to true to avoid having to ask the user whether 
# to extend the session or not. Instead it will be automatically extended. 
# The purpose of this mode is to keep the session open as long as the user 
# browser is open and with a portal page loaded. It is recommended to use 
# this setting along with a smaller "session.timeout", such as 5 minutes for 
# better performance. 
# 
session.timeout.auto.extend=true 
0

이 문제는 모든 페이지 또는 특정 페이지에서만 발생합니다. ? 버튼을 클릭 할 때 이런 현상이 발생합니까?

그렇다면은

function onClickFunction(){ 
var liferaySession = Liferay.Session._currentTime; 
if(liferaySession == '0'){ 
    //reload page 
    } 
else{ 
    //proceed 
    } 
}