Spring Security - In-Memory Authentication Warm-up

스프링 시큐리티는 모두들 러닝 커브가 높다는 것을 알고있다. 나 또한 그동안 스프링 시큐리티를 가볍게만 사용해보았고, 여러가지 지원되는 기술들을 면밀하게 장단점을 알고 쓰질 못했다. 스프링 진영에서 인증, 권한을 포함한 보안과 관련된 프레임워크는 단연 시큐리티 만한게 없다고 생각해왔고, 평판도 익히 들었다. 그동안 미루어왔던 시큐리티 학습을 시작해보려고 한다. 아래 책을 따라가면서, 실습을 해 볼 예정이다. 책의 버전과 현재 버전이 일치하지 않는 부분도 있고, 그냥 내가 만들고 싶은걸 만들면서 배우고 싶은 생각도 있어서 예제를 그대로 따라가지 않고 시큐리티를 실습해 볼 예정이다. http://www.acornpub.co.kr/book/spring-security-3e 우선, 책 첫 부분에 나오는 초기 세팅 및 inMemoryAuthentication 의 예제이다. spring boot 버전은 2.3.0.RELEASE 이며, spring security 버전은 5.3.2.RELEASE 이다. 아래에서 확인이 가능하다. MVC 구조에서 간단하게 진행하기 때문에, web 을 추가했고 또한 thymeleaf 템플릿 엔진을 사용할 것이다. jpa 와 h2 는 추후에 jdbc 기반 인증을 하기 위해서 미리 넣어두었다. lombok 과 devtools 는 애용하기 때문에 집어넣었다. 그렇다면, 본론으로 넘어가서 Security 설정을 해보자. WebSecurityConfigurerAdapter 를 상속 받아 configure 메서드를 재정의하면 된다. configure(AuthenticationManagerBulider) 메서드에서 AuthenticationManagerBuilder 객체는 스프링 시큐리티가 사용자를 인증하는 방법을 설정한다. 아래의 경우, 인메모리 데이터 저장소를 이용해 사용자명과 패스워드를 비교한다. 인메모리 데이터 저장소에 2개의 2개의 계정을 물고 있으며, 해당 2개의 계정만...