스프링부트를 사용한다면 application.yml에서 설정도 간단한 설정이 가능하지만, 모든설정을 할 수없으므로 Configuration Class에서 하는 설정이 기본이다.

스프링시큐리티 Configuration Class를 작성하기 위해 @EnableWebSecurity, Configuration 애노테이션 추가
스프링 시큐리티의 설정은 HttpSecurity로 한다.
- 리소스(URL) 접근 권한 설정
- 인증 전체 흐름에 필요한 Login, Logout 페이지 인증완료 후 페이지 인증 실패 시 이동 페이지 설정
- 인증 로직을 커스텀하기 위한 커스텀 필터 설정
HttpSecurity는 스프링시큐리티의 거의 대부분의 설정을 담당하는 객체이다.

http.csrf.disable ->
CSRF 공격이란, 인터넷 사용자(희생자)가 자신의 의지와는 무관하게 공격자가 의도한 행위(등록, 수정, 삭제 등)를 특정 웹사이트에 요청하도록 만드는 공격
이러한 공격을 방지하기 위해 csrf.disable을 설정
특정 리소스의 접근 허용 또는 특정 권한을 가진 사용자만 접근 가능케 만듦

밑에 .access / .antMatchers 를 보면 접속 링크별로 어떤 권한만 허락되는지 구현
예를들어 .antMatchers 에서 허락되는 권한을 ROLE_ADMIN 으로 준다면, 그 링크에서는 ROLE_ADMIN 등급을 가진 유저만 접속이 허용