Bcrypt 암호화에 대해 알아보자
Spring Security는 암호화를 위해 BCrypt Password Encoder
를 제공한다.
따라서 해당 클래스를 return 하는 메소드를 만들어 @Bean으로 등록하여 사용하면 된다
package bsm.choi.fancafe.global.config;
import jakarta.servlet.DispatcherType;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.web.SecurityFilterChain;
import static org.springframework.security.config.Customizer.withDefaults;
@Configuration
public class SecurityConfig {
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(
request -> request
.requestMatchers("/").permitAll()
.requestMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().permitAll()
)
.csrf(
auth -> auth.disable()
)
.formLogin(
auth -> auth
.loginPage("/login")
.permitAll()
);
return http.build();
}
}
리턴타입을 BCryptPasswordEncoder
으로 가지고
BCryptPasswordEncoder
생성자를 return하는 메서드를
@Bean으로 등록시켜준다.