새소식

반응형
250x250
💀 오류 로그

[Spring Security]비밀번호 맞게 입력했는데 계속 bad credentials 오류 발생

  • -
728x90
반응형

DB에 있는 아이디와 비밀번호를 로그인 폼에 맞게 입력했는데도 계속 bad credentials 오류로 login fail이 떴다.

 

다음과 같은 원인이 있을 때 발생했다.

 

1.설정 파일에서 무언가 잘못됨

=>web.xml에서 <context-param>이 중복 설정되어 있었다.

 

2.login-processing-url의 login에 매핑되는 컨트롤러 value가 있다

=>login-processing-url이 login으로 되어있는데 컨트롤러 value가 login인 부분이 있어서 스프링 시큐리티 자체의 로그인 인증 절차가 실행되는 게 아닌 해당 컨트롤러 value로 넘어갔었다.

 

3.비밀번호 삽입 때 사용한 인코더와 비밀번호 검증 시 사용한 인코더가 다를 때

=>예를 들어 삽입 때는 BCrypt를 사용했는데 검증 때는 다른 인코더를 사용하면 안 된다.

 

4.비밀번호 삽입 때 암호화 로직을 거치지 않은 경우

=>오류 발생 전날 BCrypt를 거쳐 1234가 암호화된 암호(여기서는 a라고 하겠다)를 만들었다. 오류 발생날 로그인 기능 테스트를 위해 회원 튜플을 DB에서 직접 삽입했다. 삽입할 때 비밀번호에 이 암호 a를 그대로 복붙해서 삽입하고 로그인 해봤더니 계속 bad credentials 오류 발생. matches 함수로 1234와 a를 비교해봐도 값은 똑같다고 나와서 미궁 속으로 빠질 뻔했으나.. 찾아 보니 자바에서 BCrypt 로직을 거치지 않으면 솔트값이 달라져 다르게 인식된다고 한다. 회원가입 기능을 만들고 BCrypt를 거쳐 insert 되도록 구현한 후 새로 삽입된 회원 튜플로 다시 로그인 테스트를 해보았더니 오류가 해결되었다.

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.