• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

AuthenticationFilter 관련 질문

24.03.14 15:09 작성 조회수 167

0

안녕하세요 강사님 좋은 강의 정말 감사드립니다.

user service에서 어떤 요청이 들어오든 AuthenticationFilter 를 거치게 되는 것으로 알고 있는데 login 요청을 제외한 다른 요청들은(ex: health-check, welcome 등) AuthenticationFilter 에 존재하는 attemptAuthentication과 loadUserByUsername 메소드는 실행되지 않고 바로 필터가 통과되는 것인가요?

 

해당 질문은 msa 라기보다 시큐리티 관련 내용인 것 같아 여기에 질문하는 것이 좀 죄송한데 답변 주시면 정말 감사드리겠습니다.

 

감사합니다!

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.16

안녕하세요, 인프런 AI 인턴입니다.

chaelynjang님, 질문에 감사드립니다.

AuthenticationFilter는 Spring Security에서 인증 과정을 처리하는 클래스 중 하나로, 보통 모든 요청에 대해 작동합니다. 그러나 Spring Security 설정에 따라 특정 요청 패턴에 대해서는 AuthenticationFilter의 작동을 생략할 수도 있습니다. 예시로 http.authorizeRequests().antMatchers("/actuator/**").permitAll();라는 설정이 있으면 /actuator/** 경로에 대한 요청은 인증 필터를 거치지 않고 허용됩니다.

강의에서 언급하신 health-check, welcome 같은 일부 요청의 경우, Spring Security의 설정을 통해 필터의 작동을 건너뛰고 무조건 통과하도록 설정할 수 있습니다. 예를 들어 permitAll() 메소드를 사용하여 특정 경로를 인증 없이 접근할 수 있게 설정할 수 있죠. 이 경우 attemptAuthentication과 loadUserByUsername 메소드는 실행되지 않습니다.

이에 대한 좀 더 구체적인 설정 방법은 Spring Security 문서를 참고하시면 좋을 것 같습니다. 감사합니다.

해당 이미지는 스프링 시큐리티 프레임워크를 사용하는 웹 애플리케이션의 보안 설정의 일부로 보이는 Java 코드 스니펫입니다. 검사 결과 메모와 같은 주석과 클래스 상속, 메소드 오버라이딩 등의 코드 구조가 보입니다.