인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

좋은 백조님의 프로필 이미지
좋은 백조

작성한 질문수

스프링 시큐리티

4) 인증 저장소 - SecurityContextHolder, SecurityContext

질문

작성

·

216

1

선생님 강의를 보다 궁금한점이 생겼습니다.

제가 옛날에 들었던 얘기가 있었는데 강의소개에는 기업에서 form 방식을 많이 이용한다고 봤습니다. 그런데 이렇게 세션을 이용하는 방식은 세션 자체가 서버에 저장되는 방식이기 때문에 서버에 부담을 주게된다고 해서 jwt 를 많이 이용한다고 하는데 jwt 보다 좋은 점이 있을까요?

답변 1

2

정수원님의 프로필 이미지
정수원
지식공유자

세션방식의 인증처리는 전통적으로 많이 사용해오던 방식은 맞고 현재도 사용하고 있습니다.

단점들이 존재하긴 하지만 여전히 레거시 시스템에서는 사용하고 있습니다.

다만  마이크로 서비스나 Rest  방식의 통신, 그리고 웹브라우저가 아닌 모바일 앱이나 디바이스 통신 등 다양한 환경에서의 인증처리에는 세션보다 Oauth2 나 Jwt 와 같은 토큰 방식의 인증, 인가 처리를 하는 추세로 가고 있긴 합니다.

그렇다고 무조건 토큰 방식 , 혹은 세션방식의 일률적인 정책 보다는 각 시스템과 운영환경에 따라 적절한 인증, 인가 처리 방식을 선택하는 것이 좋을 것 같습니다.

세션방식이 jwt 보다 좋은 점은 아무래도 세션은 서버측에서 저장/관리하기 때문에 상대적으로 보안에 안전할 수 있지만 CSRF 등의  취약점도 존재합니다.

그리고 세션 아이디는 jwt 토큰 보다 크기가 작다는 점도 존재합니다.

그 외에도 여러가지가 있겠지만 세션이나 jwt 모두 장단점이 존재하기 때문에 시스템에 가장 적합한 방식을 결정해서 구현하는 것이 더 중요하다고 생각되네요

좋은 백조님의 프로필 이미지
좋은 백조

작성한 질문수

질문하기