본문 바로가기

Spring Security3

Authentication(인증) (2) - 로그인 절차 & 코드구현 대표적인 인증방식은 username과 password를 html form을 통해 전달받는 방식입니다. Filter에 대한 이전 포스팅에서 공식문서에 기재된 SecurityFilter의 종류를 보여드렸습니다. 그 filter들 중에 "UsernamePasswordAuthenticationFilter"라는 filter가 username과 password를 이용한 인증을 시도할 때 사용이 됩니다. 위의 flowchart가 인증 절차인데, 복잡해 보이지만 큼지막한 흐름만 얘기해보겠습니다. 1. Flowchart의 주황색 부분에 여러 SecurityFilterChain 중에 UsernamePasswordAuthenticationFilter가 동작하는 것을 볼 수 있습니다. 이제보니 filter 이름도 직관적으로 .. 2022. 7. 30.
Spring Security의 작동 방식 알아보기 Spring Security는 Spring MVC 영역 전에 작업이 수행됩니다. Spring MVC를 공부하면서 자주 보게되는 Spring MVC flow chart인데요. 위 차트에서는 Incoming request가 바로 Front Controller(=Dispatcher Servlet)으로 전달되는 것으로 표현되어 있습니다. 맞는 말이지만 사실 Front Controller에 전달되기 전에 'Filter'라는 것들을 거치게 됩니다. 보라색 상자로 표현된 Client가 웹브라우저로 HttpRequest를 보내면, Servlet Container는 'FilterChain'이라는 Filter들이 연결되어 순서대로 실행될 수 있는 체인을 생성합니다. (Filter Chain은 Servlet Containe.. 2022. 7. 28.
Circular Dependencies error Circular Dependency에러는 아래와 같이 코드를 구성했을 때 만나게 되었습니다. 비밀번호를 BCryptPasswordEncoder를 사용해 암호화하려는게 목적이었습니다. 지금 다시 코드를 보니 왜 AppSecurityConfig에서는 사용하지도 않을 BCryptPasswordEncoder를 DI받으려고 했는지 모르겠지만, @Autowired BCryptPasswordEncoder bCryptPasswordEncoder; 그때는 잠시 헷갈렸던 것 같습니다. 그래도 덕분에 Circular dependency라는 것은 사용을 권하지 않는다는 것을 알게되었고, 이후에 의존성을 설정할 때 주의해야겠다는 생각도 하게되었습니다. [AppSecurityConfig] @Configuration @Enable.. 2022. 7. 25.
반응형