728x90
반응형

먼저 아래와 같은 내용으로 spring project를 하나 만들어주었다.

해당 애플리케이션을 실행하면 콘솔창에 아래와 같은 내용이 나온다. 해당 정보를 복사하여, id에는 user를 입력하고 로그인할 수 있다.

처음 애플리케이션이 실행되면 Spring Security는 Bean 중에서 type이 SecurityFilterChain인 것을 찾는다.

SecurityFilterChain을 한번 살펴보겠다.

SecurityFilterChain은 springframework.security.web의 것이고, 이것은 인터페이스이므로 스프링 bean 선언으로 이동하자.

interface 옆에 아이콘을 클릭하면 이동할 수 있다.

defaultSecurityFilterChain이라고 되어 있다. 매개변수로는 HTTPSecurity를 받고 여기서는 http.authorizeRequests()로 모든 Request는 인증되어야한다고 되어있다. 그래서 위의 화면처럼 우리는 로그인 화면에서 비밀번호를 입력해야 다른 화면으로 넘어갈 수 있는 것이다. formLogin은 Spring Security에서 기본적으로 제공해주는 로그인 화면이다. (아까 본 화면)

 

스프링으로 모든 endpoint를 자동으로 보호하기 때문에 우리가 Endpoint에 직접 접근이 불가능했던 이유이다.

(HttpBasic은 formlogin이 작동하지 않을 경우를 위해서 만든 라인이다.)

이후에 jwt 토큰을 사용하여 로그인하는 글을 포스팅해보겠다.

728x90
반응형

+ Recent posts