vue.js와 스프링으로 로그인 구현 중 이런 에러를 만났다.
UserDetailsService에서 null값을 리턴한다고 해서 로그인 필터에서 username과 password를 출력해보니 둘 다 null이 나오는 것을 확인했다.
알아보니 로그인 필터의 attemptAuthentication 메서드에서 사용하던 obtainUsername
과 obtainPassword
가 request.getParameter()로 받아오기 때문에 json으로 못받아 온다고 한다.
그래서 vue에서 Content-Type을 multipart/form-data
으로 하고, 데이터를 보내는 형식을 form으로 수정했다.
이렇게 form에 담아서 전송하니 해결할 수 있었다.