반응형
추가한 의존성
Spring Boot 관련
- Spring Boot DevTools
- Spring Configuration Processor
- Spring Web
- lombok
- tomcat-embed-jasper
DB 관련
- JDBC
- MySQL Driver
- Mybatis Framework
암호화 관련
- Spring Security
DB 암호화 구현
Spring Security 를 의존성에 추가하고 프로젝트를 만든 후
서버를 실행하면 이런 페이지가 나온다.
로그인
id = user
pw 는 커맨드 창에
이런식으로 준다.
모든 요청마다 로그인 인증을 받을 수는 없으니 Config 객체 생성이 필요하다.
Config 파일 생성
** SecurityJavaConfig.java **
@EnableWebSecurity
@Configuration
public class SecurityJavaConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.csrf(AbstractHttpConfigurer::disable)
.headers(headers -> headers.frameOptions(HeadersConfigurer.FrameOptionsConfig::sameOrigin))
.authorizeHttpRequests(
authorize -> authorize
.requestMatchers("/**", "/logout", "/reg", "/login", "/reqLogin").permitAll()
.anyRequest().authenticated());
// 로그아웃 처리를 위한 메소드
http.logout(logout -> logout
.logoutUrl("/logout")
.logoutSuccessUrl("/"));
return http.build();
}
}
이제 특정 요청을 제외한 모든 요청에서 로그인 인증이 패스됨
시큐리티 내부적인 필터가 있어서
로그아웃 경로 설정이 따로 필요함
이제 암호화 된 비밀번호와 암호화 되기전 비밀번호가 매칭되는지 확인하는 함수
SecurityJavaConfig 안에 @Bean으로 추가
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
암호화 해서 저장하는 매서드
passwordEncoder.encode(받아온 비밀번호)
저장된 암호화 비밀번호랑 입력한 비밀번호 비교하는 매서드
passwordEncoder.matches(받아온 비밀번호, 저장된 암호화 비밀번호)
일치하면 리턴값은 true이다.
반응형
'Spring boot' 카테고리의 다른 글
[Spring Boot] JWT 저장하기 (0) | 2024.08.09 |
---|---|
[Spring Boot] application.properties 파일 테스트용 생성 후 연결하기 (2) | 2024.07.25 |
[Spring Boot] 스프링 부트 환경세팅 (with. vscode) (2) | 2024.07.24 |
[Spring Boot] 어노테이션 정리 (1) | 2024.07.24 |