inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링부트 시큐리티 & JWT 강의

스프링부트 시큐리티 25강 - jwt를 위한 강제 로그인 진행

password 비교를 하지 않았는데 어떻게 인증이 통과된 건가요?

320

김한결

작성한 질문수 7

0

안녕하세요!

스프링 시큐리티 다양한 분들 강의를 봤는데 이렇게 핵심만 요약해서 알려주시는 강의는 없었던 것 같습니다.

 

attemptAuthentication 에서 authRequestToken으로 loadUserByUsername 를 호출 후 password 를 비교하는 로직이 없는데 어떻게 successfulAuthentication 으로 넘어가는지 이해가 안됩니다.

 

어느 시점에 password 를 비교하는지 궁금합니다.

spring spring-security jwt

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 김한결님. 질문해 주셔서 감사합니다!

스프링 시큐리티의 인증 절차에서 attemptAuthentication 메서드 내에서 비밀번호를 직접 비교하지 않더라도 인증이 이루어지는 이유는 스프링 시큐리티가 내부적으로 비밀번호 비교를 처리하기 때문입니다.

loadUserByUsername 메서드를 호출하면 데이터베이스에서 사용자 정보를 가져오며, 이 사용자 객체에는 암호화된 비밀번호가 포함되어 있습니다. AuthenticationManager는 이러한 사용자 정보를 활용해 입력된 비밀번호와 암호화된 비밀번호를 비교합니다. 이는 스프링 시큐리티 내부의 UserDetailsServicePasswordEncoder를 통해 자동으로 처리됩니다.

즉, 직접 비밀번호를 비교하는 코드를 작성할 필요 없이 스프링 시큐리티가 안전하게 비밀번호를 비교하여 인증을 처리합니다. 따라서 successfulAuthentication으로 정상적으로 넘어갈 수 있습니다.

유사한 질문에 대한 답변도 참고해 보세요:
- loadUserByUsername() 메서드 질문 있습니다. - 이 답변에서는 loadUserByUsername 메서드의 동작 방식을 설명하고 있습니다.

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

JWT를 구현한 다음 이 API를 호출해서 사용하는 것은 프론트엔드 쪽에서 하는 역할인가요?

0

94

1

Jwt쓰면 스프링시큐리티는 필수적으로 사용해야하나요?

0

401

1

13:23 system.out 출력문이 다르게 나옵니다.

0

130

1

수료증 문의

0

226

2

9분대에 질문이 있습니다 !

0

114

1

이전 강의 참고하라는 말씀

0

253

1

강의 실습하다가 막히는 분들 참고(2024년8월 기준)

2

1116

2

구글 소셜 로그인 302

0

200

1

오류 문의 _ org.springframework.orm.jpa.JpaSystemException: could not deserialize

1

584

1

[자바] 시큐리티 Config 참고

13

953

1

이론강의

0

280

1

SpringSecurity JWT 로그인 URL 2개 설정하는 방법

0

487

1

2024.06기준) 최근 SecurityConfig 설정 문의

0

921

3

구글 로그인시 authentication이 null 값이라고 에러가 발생합니다.

0

677

2

특정 url필터 거는 방법 이슈

0

422

1

강사님께서 말씀하시는 시큐리티세션이 SecurityContext인가요?

0

277

1

25강 마지막 테스트에서 오류

1

1044

2

jwt를 저장하는 위치에 궁금한 점이 있습니다.

0

298

1

mustache를 사용하지 않고 thymeleaf를 사용하려고 하는데

0

696

1

세션 인증방식이 REST 원칙에 위배되는 건가요?

0

338

1

jwt와 실제데이터의 관계

1

242

1

jwt 와 세션ID의 관계

1

312

1

SecurityConfig에서 세션 설정, 인가 설정

0

417

1

섹션2 9강까지 듣고 질문이 있습니다. 스프링부트 버전을 다운그레이드해도 될까요?

0

394

1