- 애플리케이션에 spring security jar을 Dependency에 추가
- WebSecurityConfigurerAdapter를 상속받는 Security Configuration 클래스 생성
- @EnableWebSecurity 추가
- Authentication -> configure(AuthenticationManagerBuilder auth) 메서드를 재정의
- Password encode를 위한 BCryptPasswordEncoder 빈 정의
- Authorization -> configure(HttpSecurity http) 메서드를 재정의
1. Dependency 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.5.14</version>
</dependency>
WebSecurityConfigurerAdapter를 상속받아 구현할 수 있는 마지막 버전을 찾아 적용.
추후 최신 버전 Security 설정 적용해보자.
2-3. Security Configuration
@EnableWebSecurity
public class WebSecurity extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.authorizeRequests().antMatchers("/users/**").permitAll();
//h2-console 프레임 단위 엑박뜨는 것 해결
http.headers().frameOptions().disable();
}
}
Authorization 관리하는 configure(HttpSecurity http) 메서드 재정의
5. BCryptPasswordEncoder 빈 정의
@SpringBootApplication
@EnableDiscoveryClient
public class UserServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class, args);
}
@Bean
public BCryptPasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
users db에 encryptedPwd로 저장.
'DevOps > Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)' 카테고리의 다른 글
Catalog-service 구현 중 테이블 생성이 안되는 이슈 발생 (미해결) (0) | 2023.04.05 |
---|---|
암호화 처리를 위한 Encryption과 Decryption (0) | 2023.04.03 |
Spring Cloud Bus (0) | 2023.03.30 |
Spring Cloud Config (0) | 2023.03.30 |
해당 카테고리는 이도원님의 인프런 강의 복습용 카테고리입니다. (0) | 2023.03.30 |