인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

구스타프님의 프로필 이미지

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

인증 관리자 - AuthenticationManager - 2

customAuthentication 관련

작성

·

37

·

수정됨

0

안녕하세요. 강의 잘 보고,듣고, 익히고 있습니다!

customAuthenticationFilter관련 부분보다가 궁금증이 생겨서 질문 남깁니다.

 

authenticationManager, authenticationProvider 로직을 SecuriyConfig의 필터가 아닌 일반 서비스 로직 내부에서도 똑같이 커스텀해서 사용이 가능한가요?

 

(Contoller에서 dto로 받아서 서비스에서 id/pw 검증 후 이후 과정을 처리하는 그런 흐름이 가능한건지 궁금합니다)

 

jwt 관련 로그인을 구현하려고 하는데, 전체적인 구조는 SpringSecurity의 맥락을 그대로 가져가고 싶은..생각입니다.

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

네 가능은 합니다

다만 AuthenticationManager 가 작동하는 방식과 세션에 저장하는 작업등 전반적인 처리과정을 확실하게 확인해야 합니다

시큐리티에서 사용하는 인증관련 클래스들과 연계되어 있는 부분은 없는지도 살펴 보고요

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 구스타프님!

스프링 시큐리티에서 AuthenticationManagerAuthenticationProvider는 기본적으로 인증 처리를 위해 설계된 컴포넌트입니다. 이들은 보통 SecurityConfig 내에서 설정되어 사용되지만, 서비스 레이어와 같은 일반적인 로직에서도 활용할 수 있습니다. 특히 JWT 기반 인증을 구현하려고 한다면, 인증 관련 로직을 커스터마이징하여 사용자의 요구에 맞게 구조를 설계할 수 있습니다.

가능한 흐름:

  1. Controller:

    • 클라이언트로부터 전달받은 자격 증명(DTO)을 받아 서비스 레이어로 전달합니다.
  2. Service:

    • AuthenticationManager를 활용하여 유저 자격 증명이 유효한지 처리합니다.
    • AuthenticationProvider를 통해 ID/password를 검증하여 인증 과정을 처리합니다.
    • 인증 성공 시 JWT 토큰을 생성하고 반환합니다.

이런 구조를 사용하면 스프링 시큐리티의 장점을 그대로 활용하면서도, JWT와 같은 토큰 기반의 인증 시스템을 도입할 수 있습니다. 코어 인증 로직을 손쉽게 확장할 수 있는 점이 가장 큰 장점 중 하나입니다.

아래는 관련된 몇 가지 질문과 답변 링크를 통해 추가적인 정보를 제공해드릴 수 있습니다:
- AuthenticationManager 사용방법에 대해 질문있습니다.
- RestAuthenticationFilter에 jwt 토큰을 추가하는 질문

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.