2014-01-17 1 views
0

WebSphere에서 세션 시간 초과를 3 분으로 설정했습니다 (실제 시간 제한은 30 분입니다.). 내 애플리케이션을 열어두고 마우스를 움직여 보았습니다. J2EE 응용 프로그램과 어떤 keypress 어떤 페이지를 제출하지 않습니다. 3 분 후에, 응용 프로그램의 세션은 유지됩니다. 일부 마우스 이동/keypress 때 세션이 유지되는 방법을 확인해야합니까? 요청이 서버로 전송되지 않았거나 페이지 제출이 완료되지 않았습니다.Keypress/Mouse 이벤트로 Websphere에서 세션 시간 초과 재설정

내 응용 프로그램의 세션 시간 초과는 서버에서만 유지 관리됩니다.

감사합니다.

답변

1

이것은 WebSphere가 인증에 LTPA 토큰을 사용했기 때문에 발생합니다. 요약하면 다음과 같습니다.

  • 웹 세션이 만료되면 사용자 자격 증명이 만료되지 않습니다 ( 은 다시 로그인하지 않아도됩니다). 이는 WebSphere LTPA 토큰 구현으로 인한 것이며 자세한 내용은 IBM 문서에서 다룹니다.
  • LTPA 토큰이 만료되면 사용자 인증 정보 이 만기됩니다 (사용자는 다시 로그인해야합니다).
  • 웹 세션 시간 초과는 사용자 작업과 관련하여 입니다. 즉, 사용자 작업 이 감지되면 0으로 재설정됩니다.
  • LTPA 토큰 시간 종료는 사용자 활동과 관련이 없습니다. 그것은 어떤 사용자 활동이 진행되고 있는지에 관계없이 생성 날짜로부터 시간이 지나면 시간 초과됩니다. http://www-01.ibm.com/support/docview.wss?uid=swg21078845에서

:

질문 3

나는 세트 "비활성 시간 초과"기간 후 다시 로그인 내 사용자를 강제로합니다. WebSphere Application Server는 세션 시간 초과 및 LTPA 시간 초과와 관련하여 어떻게 작동해야합니까? 당신이 배울 http://www.ibm.com/developerworks/websphere/techjournal/1003_botzum/1003_botzum.html

링크에서 :

9 내가 강제로 원하는 대답 3

은 다음 developerWorks 기사의 항목 9에서이 질문에 대한 답변을 참조하십시오 내 사용자가 "비활성 시간 초과"기간 후에 다시 로그인해야합니다. WebSphere Application Server는 세션 시간 초과 및 LTPA 시간 초과와 관련하여 어떻게 작동합니까?

WebSphere Application Server LTPA 토큰은 비활성 상태가 아닌 로그인 세션의 수명에 따라 만기됩니다. 따라서 사용자가 일정 기간 동안 조치를 수행하지 않으면 WebSphere Application Server 로그인 세션이 만료되지 않습니다. 그러나 HTTPSession은 비활성 상태에 따라 만료됩니다. 응용 프로그램에서 유휴 상태에 따라 응용 프로그램의 사용을 만료해야하는 경우 응용 프로그램에서 명시 적으로이 코드를 작성해야합니다. 만료 된 세션 (실제로는 새로운 세션)이있는 사용자를 캡처하여 필요할 때 다시 로그인하도록 할 수 있습니다. 이렇게하면 응용 프로그램간에 Single Sign On이 손상 될 수 있습니다.

첫 번째 방법에 약간의 변형이있는 두 번째 방법은 HTTPSession.getLastAccessTime()을 사용하여 마지막 클라이언트 요청이 발생한시기를 계산하는 것입니다. 시간이 너무 오래 지나갔다면, 물론 액세스를 실패하고 새로운 인증을 강제 할 수 있습니다. 이러한 접근법 중 하나는 서블릿 필터를 사용하여 애플리케이션 코드에 투명하게 만들 수 있습니다.

IBM Tivoli® Access Manager는 평생 및 유휴 기반 인증 세션 시간 초과를 제공합니다.

사용자는 종종 WebSphere Application Server가 이러한 방식으로 작동하는 이유를 묻습니다. 유휴 로그인 세션을 시간 종료 할 수없는 이유는 무엇입니까? 그 이유는 WebSphere Application Server가 근본적으로 느슨하게 결합 된 분산 시스템이기 때문입니다. SSO 도메인에 참여하는 응용 프로그램 서버는 서로 이야기 할 필요가 없습니다. 그들은 심지어 같은 세포에있을 필요조차 없습니다. 따라서 LTPA 토큰 (일명 SSO 토큰)의 유휴 수명을 제한하려면 토큰 자체를 매 요청마다 마지막 사용 시간으로 업데이트해야합니다 (또는 1 분 간격으로 표시되는 첫 번째 요청 일 수도 있음)). 이것은 토큰 자체가 자주 변경된다는 것을 의미하며 (브라우저가 새 쿠키를 자주 수락한다는 의미), WebSphere Application Server는 유효성을 검증 할 때 인바운드 토큰을 해독하고 검증해야합니다. 이는 고가 일 수 있습니다 (WebSphere Application Server는 오늘 각 어플리케이션 서버에서 첫 번째 사용시에만 토큰의 유효성을 검증합니다). 똑똑한 캐싱 등으로 이러한 문제를 해결하는 것은 불가능하지 않지만, 현재 WebSphere Application Server가 어떻게 작동하는지는 아닙니다.