
인증, 권한 관리, 데이터 보호 기능을 포함하여 웹 개발 과정에서 필수적인 사용자 관리 기능을 구현하는데 도움을 주는 프레임워크이다.
개발자들이 보안 관련 기능을 효율적이고 신속하게 구현할 수 있도록 도와준다.
Spring 생태계에서 보안에 필요한 기능들을 제공하기 때문이다.
Spring 프레임워크 안에서 활용하기 적합한 구조로 설계되어 있어, 보안 기능을 추가할 때 활용하기 좋다.
IoC(제어의 역전)/DI(의존성 주입) 패턴과 같은 확장 패턴을 염두해서 인증/인가 부분을 직접 개발하기가 어렵다.
Spring Security에서는 이와 같은 기능들을 제공해 주기 때문에 개발 작업 효율을 높일 수 있다.

프로젝트를 바로 실행해보면 로그인 페이지가 나타난다.

아이디는 user이고 비밀번호는 로그에 나타난다.

어노테이션 옆에 (exclude= {SecurityAutoConfiguration.class})를 작성하면 Spring Security에서 기본 제공하는 로그인 페이지를 이용하지 않겠다는 의미로 더 이상 로그인 화면이 뜨지 않는다.

Spring Security 프레임워크에서 제공하는 클래스 중 하나로 비밀번호를 암호화 하는데 사용할 수 있는 메서드를 가진 클래스

bcrypt 암호화 객체 의존성 주입
bcrypt.encode(문자열) : 문자열을 암호화하여 반환
로그인을 하고 로그 확인(암호화된 비밀번호)
입력한 비밀번호 : pass01!