Spring/security

[시큐리티] 구성 요소 재정의

라임온조 2023. 3. 10. 12:24

1. 방법

  • 직접 구현 만들기
  • 스프링 시큐리티에 있는 구현 이용하기

2. UserDetailsService 재정의 

1) 방법

  • 빈으로 재정의
  • configure 메서드로 설정

2) InMemoryUserDetailManager 이용

특징

  • 콘솔에 자동 생성된 암호가 출력되지 않고 메모리에 자격 증명을 저장해서 스프링 시큐리티가 요청을 인증할 때 이용할 수 있게 한다

3. PasswordEncoder 재정의

1) 방법

  • 빈으로 재정의
  • configure 메서드로 설정

2) NoOpPasswordEncoder 이용

특징

  • NoOpPasswordEncoder는 암호에 암호화나 해시를 적용하지 않고 일반 텍스트처럼 처리한다. 그래서 운영 단계에서 사용하면 안 되기 때문에 클래스 개발자가 deprecated라고 지정해놓음.

4. AuthenticationProvider 재정의

1) 방법

  • AuthenticationProvider를 implements한 클래스를 만들어 authenticate 함수를 오버라이드

5. 엔드포인트 권한 부여 구성 재정의

1) WebSecurityConfigureAdapter 사용

  • 보안이 필요한 엔드포인트에 다른 권한 부여 규칙을 선택해야 하는 등 변경이 필요할 때 사용
  • 이 class를 확장한 후 configure 메서드를 재정의