오늘은 스프링 시큐리티를 완성시켰다.
스프링 시큐리티를 하나하나 이해하고 처음부터 짜는것 보단 기존에 있는 소스를 이해하고 복붙을 하였다.
복붙하는과정에서 에러가 2가지가 발생했다.
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository' defined in com.example.indivisual.user.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Could not create query for public abstract java.util.Optional co m.example.indivisual.user.repository.UserRepository.findByUsername(java.lang.String); Reason: Failed to create query for method public abstract java.util.Optional co m.example.indivisual.user.repository.UserRepository.findByUsername(java.lang.String); No property 'username' found for type 'User'
이문제가 있었다.
이문제는 User 객체에 username이라는 username이라는 property가 아니라고 되어있다. 즉 User entity에는 name이라는 필드가 있는데 findbyUsername이라고 해서 bean생성을 못했던 것이였다.
findByName으로 수정 후 정상 동작을 하였다.
문제의 소스코드
User user = userRepository.findByUsername(username)
.orElseThrow(() -> new UsernameNotFoundException("사용자를 찾을 수 없습니다."));
수정된 소스코드
User user = userRepository.findByName(username)
.orElseThrow(() -> new UsernameNotFoundException("사용자를 찾을 수 없습니다."));
'개인프로젝트' 카테고리의 다른 글
개인프로젝트 6일차 (0) | 2023.03.21 |
---|---|
웹플럭스란 (0) | 2023.03.21 |
개인프로젝트 4일차 (0) | 2023.03.18 |
개인프로젝트 3일차 (0) | 2023.03.17 |
개인프로젝트 2일차 (0) | 2023.03.16 |