Spring Cloud로 개발하는 MSA/Users Microservice

Users Microservice - Spring Security 연동

webmaster 2022. 1. 31. 15:07
728x90

SpringSecurity 추가

인증 + 인가(Authentication + Authorization)

의존성 추가(Dependency 추가)

의존성 추가

  • SpringSecurity를 사용할 것이기 때문에 SpringSecurity 라이브러리를 추가한다.

WebSecurity 추가 (SecurityConfig 파일 추가)

Security 설정

  • WebSecurityConfigurerAdapter를 오버라이드 하여 구현
  • csrf 사용 X
  • /users/** 는 모두 통과(권한 체크 X)
  • H2 console을 접속을 하기 위해서는 frameOption을 켜야 된다.
    • 안 킬 시 H2 Console 접속 시 권한이 없어 프레임이 보이지 않는 문제가 있다.

프레임 접속 불가

BCryptPasswordEncoder(암호화를 위해 사용)

패스워드 해싱을 위해 Bcrypt 알고리즘 사용

    BCryt 알고리즘 주입 받는다.

Bean 등록
Service 메소드 수정
암호화된 값이 들어가 있다

  • BCryptPasswordEncoder 암호화 기법을 사용할 것이기 때문해 해당 인스턴스를 빈으로 등록한다.
  • 등록한 BCryptPasswordEncoder 인스턴스를 사용할 Service에서 주입을 받아 암호화하여 DB에 저장한다.
    • 실제 DB에 저장되는 값은 Password가 아니라 암호화된 Password값이 저장이 된다
    • 보안상 안전한 값이 저장이 된다.
  • 서버에 해당 빈이 등록이 되어있기에 빈으로 등록된 인스턴스를 사용해 복호화하면 된다.
728x90