DB 변경하기에 앞서서 작성했던 파일들 정리함
H2 데이터베이스를 MySQL로 변경할거임
기존 데이터베이스 설정 주석처리 후
# MYSQL DB 설정
spring.datasource.url=jdbc:mysql://localhost:3306/ssb
spring.datasource.username=root
spring.datasource.password=1234
ㅁ
My SQL에서
ssb 스키마 만들어줘야함
테스트하기
이런식으로 DB변경은 할 수 있다.
SecurityConfig에서 h2 관련은 지워주면된다.
이제 최신버전은 해당코드를 람다식으로 작성을 해서
아래와 같이 바꿔주면되고
실행 잘 되는지만 테스트 해주면 됨
package com.mysite.sbb.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
import com.mysite.sbb.user.UserSecurityService;
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfigNew {
@Autowired
private UserSecurityService userSecurityService;
@Bean
SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests().antMatchers("/**").permitAll() //모든 주소에 인증없이 허가
.and()
.formLogin((login) -> login
.loginPage("/user/login") //로그인 페이지
.defaultSuccessUrl("/")) // 로그인 성공 시 /로
.logout((logout) -> logout
.logoutRequestMatcher(new AntPathRequestMatcher("/user/logout"))
.logoutSuccessUrl("/")
.invalidateHttpSession(true)) // 로그아웃 시 세션 삭제
;
return http.build();
}
//암호화 객체
@Bean
PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
//시큐리티 서비스 불러오기
@Bean
AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {
return authenticationConfiguration.getAuthenticationManager();
}
}
@EnableGlobalMethodSecurity(prePostEnabled = true)
인증 필요한 메소드에 입력해서
해당 메소드의 기능은 로그인으로 인증되지 않으면 접근 불가능
'BACKEND > SpringBoot' 카테고리의 다른 글
스프링 부트 - MyBatis 및 postman 사용 (0) | 2023.11.14 |
---|---|
스프링부트 게시판 만들기 강의 (0) | 2023.11.13 |
질문/답변 추천 기능 (0) | 2023.11.13 |
수정일시 표시하기( 질문, 답변) (1) | 2023.11.13 |
답변 삭제 (0) | 2023.11.13 |