java_spring (2024.05 ~ 2024.10)

spring security 코드 작성

qordpsem 2024. 9. 29. 21:38

#security debug 활성화해서 콘솔에서 Filter 확인 시도

1. 먼저 yml 파일에 security: debug 를 넣어봄

logging:
  level:
    org:
      hibernate: debug
      security: debug

코드 추가했으니 안됨

 

2. security > SecurityConfig 만들어서 그 안에 EnableWebSecurity 어노테이션 옆에 (debug=true) 라고 써봄

다른 블로그들과 같이 민감한 정보가 있으니 실제 develop 시스템에서 사용하지 말라는 문구는 뜨는데 Filter 목록은 여전히 안뜸

 

3. 스프링부트 버전을 3.3.x 에서 3.1.x 로 바꿔봄

여전히 안됨

 

4. yml 파일 잘못 적은것 같아서 수정

logging:
  level:
    org:
      hibernate: debug
      springframework:
        security: debug

여전히 안됨,,,

 

 

일단 프로젝트 실행 시 spring security 적용되면 뜨는 로그인 창은 잘 뜨기때문에... debug 못해도 15개가량의 Filter 가 잘 되어있다고... 추정하고... 더이상 시간을 지체할 수 없어서 SecurityConfig 에 코드 추가해줌

 

 

#SecurityConfig 

@Configuration
@EnableWebSecurity
public class SecurityConfig {
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        return http
                .httpBasic(httpSecurity -> httpSecurity.disable())
                .formLogin(formLogin -> formLogin.disable())
                .csrf(csrf -> csrf.disable())
                .build();
    }
}

 

spring security 로그인 페이지 꺼줌

 

그 후 간단하게 회원가입 코드 작성

 

 

#패스워드 암호화

지난 2차 프로젝트때는 Argon을 썼는데 이번에는 더 흔히 쓰이는 bcrypt를 쓰려고 한다

보안성  측면에서는 Argon 보다 낮을 수 있지만 실행속도가 빠르고 구현이 단순하다고 하여 빠르게 프로젝트를 진행해야하는 지금과 더 잘 맞을 것 같다

 @Bean
    public PasswordEncoder passwordEncoder(){
        return new BCryptPasswordEncoder();
    }

관련 코드 추가해줌