Framework/Spring Boot

[Error] 아이디 중복 체크

잔망루피 2021. 12. 18. 00:22

ajax로 아이디 값을 입력받을 때마다 서버에 전송해서 boolean 값을 받는다.

boolean existsByUsername(String id);

를 이용해서 데이터베이스에서 아이디 중복 체크를 했다.

 

 

문제점

  1. 서버에서 넘긴 flag는 boolean이다. 프런트단에서 출력하니까 엉뚱하게 회원가입 html 소스 코드가 나타난다.
  2. '/user/idCheck'으로 가야하는데 안 가는 것 같다. 로그가 안 찍힌다.

 

 

해결

원인은 스프링시큐리티였다.

홈과 회원가입 페이지만 접근을 허용해서 '/user/idCheck'가 차단된 것이다.

post 방식으로 요청한 '/user/idCheck'에 가지 않고, '/user/joinForm'에 가서 return 값이 회원가입 html 소스 코드다.

로그인 안 해도 접근할 수 있게 해주니까 해결!!!!!!

아무리 컨트롤러랑 프런트단을 수정하고 확인해도 안 되었던 문제였다.

아래는 WebSecurityConfig 클래스의 configure 메소드 내에서 수정한 부분이다.

// "/user/idCheck" 추가
.antMatchers("/", "/user/joinForm", "/user/idCheck").permitAll()
반응형