Spring Security : Session 정책 설정

    이 글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다. 

    Spring Security Session 정책

    Spring Security는 Session을 관리하는 정책을 API로 설정할 수 있다. 이 정책은 여러 경우에 필요할 수 있게 되는데, 예를 들어 JWT를 통한 인증을 할 때는 세션을 사용하지 않기 때문에 Spring Security에서 항상 세션을 생성하지 않아야 한다. 이런 경우들이 존재할 수 있기 때문에 Spring Security는 손쉽게 Session 정책을 설정할 수 있도록 돕는다. 

     

    Session 정책 API 설정

    • http.ssessionManagement() : 세션 설정 시작
    • sessionCreationPolicy() : 세션 생정 정책을 설정한다.
      • SessionCreationPolicy.Always : 세션을 항상 생성한다.
      • SessionCreationPolicy.If_Required : 필요할 때만 세션을 생성한다. (기본값)
      • SessionCreationPolicy.Never : 세션을 생성하지 않는다. 이전에 생성된 세션은 사용한다.
      • SessionCreationPolicy.Stateless : 세션을 생성하지도, 사용하지도 않는다. 

    Stateless 정책은 세션을 사용하지 않는 인증방식을 도입할 때 사용한다. JWT 토큰 같은 것들로 인증을 처리할 떄 사용할 수 있다. 

    http
            .sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.ALWAYS);

    다음과 같이 API를 통해 손쉽게 설정할 수 있음. 

    댓글

    Designed by JB FACTORY