1. HTTP Basic Security
- 특정 resource에 대한 접근을 요청할때 브라우저가 사용자에게 username과 password를 확인해 인가를 제한하는 방법
- httpBasic() : Http basic Auth 기반으로 로그인 인증창이 뜸. 기본 인증 로그인을 이용하지 않으면 disable
2. Process
전체적인 절차 구조

- 접근 제한된 GET /home request를 client가 요청
- sever는 401 Unauthorized 에러와 함께, username과 password를 요청
- browser는 사용자에게 username과 password를 입력받아 동일한 GET /home resource를 요청
- 요청 header에는 입력받은 username과 password를 BASE64로 Encode한 값을 포함
- 입력한 username과 password가 server에 저장된 것과 일치할 경우, 200 응답코드와 함께 해당하는 resource를 response
3. Spring boot 3.1 Security
- Spring Boot 3.1로 변경되면서 기존 Security의 httpBasic이 deprecated 됨
- 예시는 아래와 같이 수정을 원하는 경우 configurer를 사용하면 되며 기존 설정은 Customizer.withDefaults()를 사용하면 됨
3.1. 기존코드
Public SecurityFilterChain filterChain(HttpSecurity http) {
http.httpBasic.disable()
...
}
3.2. 변경
Public SecurityFilterChain filterChain(HttpSecurity http) {
http.httpBasic(HttpBasicConfigurer::disable)
...
}
3.3 username, password 설정
- application.properties를 수정하자
spring.security.user.name = users;
spring.security.user.password = 1234;
4. Reference
Spring - Authentication, Spring Security
Spring boot Security