로그인처리1 - 쿠키,세션(3)

JIWOO YUN·2024년 3월 5일
0

SpringMVC2

목록 보기
19/26

세션 정보와 타임아웃 설정

세션 정보를 확인해볼 컨트롤러 추가

@Slf4j
@RestController
public class SessionInfoController {

    @GetMapping("/session-info")
    public String sessionInfo(HttpServletRequest request){
        HttpSession session = request.getSession(false);
        if(session ==null){
            return "세션 없음";
        }

        session.getAttributeNames().asIterator()
                .forEachRemaining(name -> log.info("session name={}, value={}",name,session.getAttribute(name)));
        log.info("sessionId={}", session.getId());
        log.info("maxInactiveInterval={}", session.getMaxInactiveInterval());
        log.info("creationTime={}", new Date(session.getCreationTime()));
        log.info("lastAccessedTime={}", new
                Date(session.getLastAccessedTime()));
        log.info("isNew={}", session.isNew());

        return "세션 출력";
    }
}

sessionId : 세션 ID ==> JsessionID 의값

maxInactiveInterval : 세션의 유효시간

createTime : 세션 생성일시

lastAccessedTime : 세션과 연결된 사용자가 최근에 서버에 접근한 시간

  • 클라이언트에서 서버로 sessionID를 요청한 경우에 갱신

isNew : 새로 생성된 것인지 과거에 만들어진걸 요청해서 조회된 세션인지 여부 체크

스프링 부트 글로벌 설정

  • application.yml파일 설정시

  • server:
      servlet:
        session:
          timeout: 60
    • 글로벌 설정시에는 분단위로 설정해야함

      • 70초 막 이렇게 넣어보다가 안되서 찾아보니 기본적으로 분단위여야했다.
profile
열심히하자

0개의 댓글