spring/security

1. 스프링 시큐리티 초기화를 따라가보자

tokkaiiii 2025. 1. 10. 23:07

1. 목적

공부

 

2. 내용

스프링부트 프로젝트를 web 과 security 의존성을 주입하여 생성한다.

실행해보면 자동으로 보안이 걸린다

그리고 유저와 패스워드가 메모리로 생성된다

 

유저 생성은 SecurityProperties 클래스를 참조하면 된다

 public static class User {
    private String name = "user";
    private String password = UUID.randomUUID().toString();
    private List<String> roles = new ArrayList();
    private boolean passwordGenerated = true;
}

찾아보면 간단하게 생성한다

 

이후 SecurityBuilder 와 SecurityConfiguration 을 통해 초기화작업이 이루어진다

 

HttpSecurityConfiguration 클래스에서 13개 설정클래스 생성해서 buil 메소드 실행한뒤 필터를 만든다

 

최종적으로 필터들을 관리하는 빈인 SecurityFilterChain이 생성한다

 

그리고 WebSecurityConfiguration 을 실행해서 만들어진 filterChain 을 FilterChainProxy 에 넣어서 사용하게 된다

FilterChainProxy filterChainProxy = new FilterChainProxy(securityFilterChains);