[SPRING SECURITY] JWT 구현 시 Spring Security는 꼭 필요할까?

승 아·2023년 8월 8일

JPA로 개발하며 JWT를 적용하려고 하는데, 대부분 Spring Security도 함께 구현하는데 궁금해서 찾아봤다.

JWT와 Spring Security는 서로 다른 개념이며, 선택할 수 있는 옵션이다.

JWT

  • 인증 및 권한 부여를 처리하기 위한 토큰 기반의 인증 방식

Spring Security

  • Spring 기반의 애플리케이션에서 보안과 관련된 작업을 처리하기 위한 프레임워크의 모듈 중 하나로, 인증, 권한 부여, 인가 등을 처리하는 다양한 기능을 제공

  • 다양한 인증 방식을 지원, 사용자의 로그인 정보를 검증하고 인증을 처리

  • 인증된 사용자에 대한 권한 관리를 지원

  • 보안 관련 작업을 처리하기 위한 다양한 필터들을 체인 형태로 구성, 각 필터는 특정 보안 작업을 수행하며, 이러한 필터 체인을 통해 보안 작업을 순차적으로 처리

  • 그 외 세션 관리, CSRF(Cross-Site Request Forgery) 방어, CORS(Cross-Origin Resource Sharing) 설정 등이 있음

즉, Spring Security를 사용하면 JWT를 생성, 검증하는 작업을 Spring Security의 필터와 메커니즘을 활용하여 구현할 수 있음

-> Spring Security 없이 JWT를 직접 구현할 수 있지만, 더 많은 작업과 코드를 요구할 수 있으며, 보안에 관련된 사소한 실수가 발생할 수 있음

profile
개발 공부를 기록하는 공간

0개의 댓글