해결된 질문
20.08.01 08:40 작성
·
240
0
안녕하세요. 실습을 하다가 로그인시 맞는 비밀번호( 틀릴까봐 0000 으로 작성해봤습니다.)를 입력해도
"비밀번호가 틀렸습니다."라고 나옵니다.
혹시 제 코드가 잘못 되었나 해서 수정해보다가 혹시나 해서 선생님 git 에서 clone 받아서 실행시켜 봐도 같은 증상입니다.
그 이전에 회원가입시에
SequelizeDatabaseError: Data too long for column 'password' at row 1
라는 서버에러가 떠서 검색해보고
set global sql_mode=''
로 셋팅해서 회원가입을 하면 가입은 정상작동은 확인되는데
맞는 비밀번호를 입력해도 계속적으로 "비밀번호가 틀렸습니다."
라는 부분이 작동합니다. ㅜㅜ
제가 어느부분을 확인해봐야할까요?
답변 2
0
2020. 08. 02. 07:00
아 그렇군요. 기존 워크벤치를 통해서 기존의 스키마를 다 삭제하고 다시 서버를 돌려서 생성하니 제대로 작동합니다. 답변 감사합니다~
0
2020. 08. 01. 12:59
SequelizeDatabaseError: Data too long for column 'password' at row 1 이 부분은
models/user.js에서 password의 DataTypes.STRING이 너무 짧아서 그렇습니다. 다만 코드를 수정한다고 되는 문제는 아니고 워크벤치로 직접 table에 접근하셔서 테이블 password 컬럼이 어떻게 만들어져있는지 확인하셔야 합니다.
테이블이 잘못 만들어졌다면 비밀번호가 테이블 설정보다 길어서 자동으로 잘려서 비교될 수 있습니다. 예를 들어 테이블 설정이 3자리인데 4자리 비밀번호를 넣으면 3자리로 잘려서 비교되므로 계속 틀렸다고 나올 수 있습니다.