gitextract__to4d2u3/ ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src/ ├── main/ │ ├── java/ │ │ └── me/ │ │ └── silvernine/ │ │ └── tutorial/ │ │ ├── JwtTutorialApplication.java │ │ ├── config/ │ │ │ ├── CorsConfig.java │ │ │ └── SecurityConfig.java │ │ ├── controller/ │ │ │ ├── AuthController.java │ │ │ └── UserController.java │ │ ├── dto/ │ │ │ ├── AuthorityDto.java │ │ │ ├── ErrorDto.java │ │ │ ├── LoginDto.java │ │ │ ├── TokenDto.java │ │ │ └── UserDto.java │ │ ├── entity/ │ │ │ ├── Authority.java │ │ │ └── User.java │ │ ├── exception/ │ │ │ ├── DuplicateMemberException.java │ │ │ └── NotFoundMemberException.java │ │ ├── handler/ │ │ │ ├── MethodArgumentNotValidExceptionHandler.java │ │ │ └── RestResponseExceptionHandler.java │ │ ├── jwt/ │ │ │ ├── JwtAccessDeniedHandler.java │ │ │ ├── JwtAuthenticationEntryPoint.java │ │ │ ├── JwtFilter.java │ │ │ ├── JwtSecurityConfig.java │ │ │ └── TokenProvider.java │ │ ├── repository/ │ │ │ ├── AuthorityRepository.java │ │ │ └── UserRepository.java │ │ ├── service/ │ │ │ ├── CustomUserDetailsService.java │ │ │ └── UserService.java │ │ └── util/ │ │ └── SecurityUtil.java │ └── resources/ │ ├── application.yml │ └── data.sql └── test/ └── java/ └── me/ └── silvernine/ └── tutorial/ └── JwtTutorialApplicationTests.java