작성
·
120
0
코드상에서 사용자를 여러명 생성해서 인증 테스트 중입니다.
application.yml 파일에 user 1명 생성해서 할 때는 정상적으로 잘 동작하는데요
SecurityConfig 파일에 사용자를 코드로 생성해서 구동하면 정상적으로 실행되지 않습니다.
코드를 따라했음에도 불구하고 스프링 구동 로그에 패스워드가 뜨는걸 보면 해당 설정이 제대로 동작되지 않는것 같습니다.
스프링 부트 버전 3.2.5
package com.example.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
import org.springframework.security.web.SecurityFilterChain;
@EnableWebSecurity
@Configuration
public class SecurityConfig
{
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception
{
http
.authorizeHttpRequests(auth -> auth.anyRequest().authenticated())
.formLogin(Customizer.withDefaults());
return http.build();
}
@Bean
public UserDetailsService userDetailsService()
{
UserDetails user = User.withUsername("user").password("{noop}1111").roles("USER").build();
UserDetails user2 = User.withUsername("user2").password("{noop}1111").roles("USER").build();
UserDetails user3 = User.withUsername("user3").password("{noop}1111").roles("USER").build();
return new InMemoryUserDetailsManager(user, user2, user3);
}
}
실행 코드 입니다.
application.yml 파일과 동시에 실행하면 application.yml 파일의 사용자로 동작하며
application.yml의 정보를 삭제하고 실행하면 구동 로그에 패스워드가 뜨면서 위의 사용자 정보로 동작하지 않습니다. 어떤 부분을 확인해 봐야 할까요? 스프링 부트 버전 차이일 까요?