[Spring Security] HTTP Basic Authentication

우잼·2023년 9월 18일
1
post-thumbnail

1. HTTP Basic Security


  • 특정 resource에 대한 접근을 요청할때 브라우저가 사용자에게 username과 password를 확인해 인가를 제한하는 방법
  • httpBasic() : Http basic Auth 기반으로 로그인 인증창이 뜸. 기본 인증 로그인을 이용하지 않으면 disable

2. Process


전체적인 절차 구조

HTTP-Basic-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

profile
나는 재민

0개의 댓글

관련 채용 정보