💡 개요
Spring Boot에서 Spring Security을 적용하고 실행하면 아래와 같은 로그가 뜬다.
Using generated security password: a2225d7b-5164-4477-abb2-81bd9faf14a9
This generated password is for development use only. Your security configuration must be updated before running your application in production.
이게 뭔 말이고
🛠️ Security Password
Spring Security 프레임워크를 프로젝트에 설치하면 자동으로 로그인 폼을 만들어준다.
localhost:8080 으로 접속하면 자동으로 /login 화면으로 리다이렉트된다.
그런데 현재 내 프로젝트엔 회원 테이블도 없고, 회원 정보도 없는 상태이다.
하지만 Spring Security는 기본 사용자를 생성해준다.
- Username : user
- Password : a2225d7b-5164-4477-abb2-81bd9faf14a9
여기서 비밀번호를 입력해야 하는데, 여기서 입력해야 하는 것이 security password이다.
하지만 개발자 입장에선 실제 배포되는 환경에 기본 사용자가 생성되는 것을 원치않을 수 있다.
그럴땐 Security Config 관련 클래스에서 명시적으로 설정해줘야 한다.
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(auth -> auth
.anyRequest().authenticated()
)
.formLogin(withDefaults()); // 또는 formLogin().disable(), jwt 설정 등 가능
return http.build();
}
}
위 설정이 있으면 더 이상 user 계정이나 자동 생성 비밀번호가 출력되지 않는다.
'개발 일기' 카테고리의 다른 글
[개발 일기] 2025.05.29 - 기능 개발은 정방향, 최종 병합은 역방향 (0) | 2025.05.29 |
---|---|
[개발 일기] 2025.05.28 - VARCHAR, VARCHAR2 (0) | 2025.05.28 |
[개발 일기] 2025.05.26 - 쿼리 파라미터 vs Path Variable (1) | 2025.05.26 |
[개발 일기] 2025.05.25 - 일대일 관계에서 연관 관계의 주인 (0) | 2025.05.25 |
[개발 일기] 2025.05.24 - REST API의 URL에 대한 개인적인 생각 (0) | 2025.05.24 |