프로젝트 구성
- Spring Boot 3.x 버전 (현재 3.2.2)
- JDK 17
- Gradle 빌드
의존성 추가
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
자동 설정에 의한 기본 보안 작동
- 서버가 기동되면 스프링 시큐리티의 초기화 작업 및 보안 설정이 이루어진다.
- 별도의 설정이나 코드를 작성하지 않아도 기본적인 웹 보안 기능이 현재 시스템에 연동되어 작동한다.
의존성 추가만으로 내부적으로 자동 설정되는 사항
- 기본적으로 모든 요청에 대해 인증여부를 검증하고 인증이 승인되어야 자원에 접근 가능하다.
- 인증 방식은 폼 로그인 방식과 httpBasic 로그인 방식을 제공한다.
- 인증을 시도할 수 있는 로그인 페이지가 자동적으로 생성되어 렌더링 된다.
- 인증 승인이 이루어질 수 있도록 SecurityProperties 설정 클래스에서 한 개의 계정이 기본적으로 생성되어 제공된다. 해당 계정의 username 은 user, password 는 랜덤한 문자열이 된다.
: 해당 인증을 받게 되어야 서버에 접근이 가능하다.