Back-End

[Spharos_6기 복습] Spring Security 와 패스워드 암호화

ddh1713 2025. 3. 31. 22:52
발단

 

  • 스프링 시큐리티를 통한 로그인을 구현을 완료하고,
  • 포스트맨으로 확인을 해보는데,
  • 자꾸 로그인 요청에 실패하였다.
  • 로직을 확인해도 문제가 없는 것 같았는데, 자꾸 로그인 요청이 실패했다.

 

📌 원인

 

  • 여기저기 구글링하고, 챗지피티를 이용해 알아보니
  • 패스워드 암호화가 되지 않으면 Spring Security 에서 로그인이 절대 성공되지 않는다.
  • 라는 것을 알게 되었다.
  • 기본 적인 기능만 구현하고 고도화하려고, 패스워드 암호화를 미뤄뒀었다.
  • 패스워드 암호화를 하지 않고 DB 에 저장하려고 한게 트러블 슈팅의 원인으로 발견되었다.
  • (역시 스프링 시큐리티 일잘하고만..!! 보안을 위해 그런거겠지?)

 

🔐 스프링 시큐리티를 통한 회원가입과 로그인

1. 회원가입시 : 비밀 번호를 암호화해서 저장

passwordEncoder.encode(rawPassword)

 

2. 로그인 시 : 입력된 비밀번호를 가져와서 암호화된 비밀번호를 내부적으로 비교

passwordEncoder.matches(rawPassword, encodedPassword)

 

 

❌ 암호화를 하지 않으면,

  • 비교 자체가 실패하게 되고, 항상 로그인에 실패하게 된다. (401 Unauthorized)

 

💡 해결

암호화 후 DB 에 저장된 패스워드

 

 

이를 통해 해결했다…

하지만 로그인은 성공하지 못하였는데…

다음 트러블 슈팅에서 계속.. ㅠㅠ ( 트러블 슈팅이 산넘어 산이네;;)