[SPRING] Spring Security 처리 과정 및 구현 예제

CHOI IN HO·2023년 12월 24일

📌1. Spring Security 처리 과정

📌 사전세팅

build.gradle 설정

Configure 클래스 생성

SpringSecurity에 대한 기본적인 설정들을 추가한다. SpringSecurity에 대한 설정 클래스에서는

  • configure 메소드를 통해 정적 자원들에 대해서는 Security를 적용하지 않음을 추가한다.
  • configure 메소드를 통해 어떤 요청에 대해서는 로그인을 요구하고, 어떤 요청에 대해서 로그인을 요구하지 않을지 설정한다.
  • form 기반의 로그인을 비활성화 한다.

📌 처리과정

1. 로그인 요청

사용자는 로그인 하기 위해 아이디와 비밀번호를 입력해서 로그인 요청을 하게 된다. 이번에 작성하는 예제에서는 로그인 API를 호출하고, Json으로 사용자의 아이디와 비밀번호를 보내는 상황이다.

2.  UserPasswordAuthenticationToken 발급

이렇게 직접 제작한 Filter를 이제 적용시켜야 하므로 UsernamePasswordAuthenticationFilter 필터 이전에 적용시켜야 한다. 그리고 해당 CustomAuthenticationFilter가 수행된 후에 처리될 Handler 역시 Bean으로 등록하고 CustomAuthenticationFilter의 핸들러로 추가해주어야 하는데, 해당 코드들은 WebSecurityConfig에 아래와 같이 추가해줄 수 있다.

profile
개발자기 되기 위해선 무엇이든!

0개의 댓글