메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

묻고 답하기

세션 확인하는 부분
  • 작성자

    조*재

  • 작성일

    2013-10-08 18:14:05

  • 조회수

    1,311

  • 구분

    공통컴포넌트

  • 진행상태

    완료

질문

EgovUserDetailsHelper.java에
getAuthenticatedUser()질문드립니다.
===========================================
System.out.println("aaaaaa");
SecurityContext context = SecurityContextHolder.getContext();
System.out.println("bbbbbb");
Authentication authentication = context.getAuthentication();
System.out.println("cccccc");
if (EgovObjectUtil.isNull(authentication)) {
// log.debug("## authentication object is null!!");
System.out.println("## authentication object is null!!");
return null;
}
System.out.println("dddddd");
System.out.println(authentication.isAuthenticated());
EgovUserDetails details = (EgovUserDetails) authentication.getPrincipal();
System.out.println("detail_"+details.isEnabled());
System.out.println("eeeeee"+details.getUsername());
==================================================

세션이 끊겼을 때(tomcat manager에서 세션을 끊었습니다.)
dddddd까지만 출력이 되고
authentication.getPrincipal();
부분에서 멈추어버립니다.

EgovUserDetailsHelper.isAuthenticatedMav();
함수에서는 리턴값이 나오는데
EgovUserDetailsHelper.getAuthenticatedUser();
에서는 멈추니 제어하기가 어렵습니다.

세션 체크하는 부분인것 같은데
최소한 detail이 null인지 여부라도 알수 있는 방법이 없을까요?

답변

안녕하세요. 조현재님.

멈추어 진행이 되지 않는 상황이신가요?

이런 경우의 발생 가능성은 거의 없을 것 같은데, 혹 이 경우시라면 tomcat manager에 의해 세션을 끊으셨다는 방법 상의 문제인 것 같습니다. (tomcat 상의 문제)

추가적으로 getAuthenticatedUser()를 사용하시기 전에 isAuthenticated()를 통해 제어하시는 것이 맞으실 것 같습니다.

그럼, 즐거운 하루되십시오.
감사합니다.

이 페이지의 구성

묻고 답하기