Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

31 user controller #32

Merged
merged 14 commits into from
Jul 19, 2024
Merged

31 user controller #32

merged 14 commits into from
Jul 19, 2024

Conversation

kangdaelyeol
Copy link
Owner

이 pr은 유저에 대한 컨트롤러를 구현한다.

this closes #31

기존의 GenericFilterBean을 상속받았던 Filter는 일반적인 필터로 여러 번 호출 될 수 있어 한 번만 호출이 필요한 인증과정을 위해 상속하기에는 부적합.
따라서 한 번만 호출이 보장되는 OncePerRequestFilter를 상속한 JwtFilter로 변경. 기존의 HttpServletRequest로 casting하던점도 사라져 더욱 깔끔해짐.
불 필요한 import문 제거
jwtTokenProvider 는 비즈니스 로직을 수행하는 service보단 Component 역할이 더 알맞기 때문에 이를 수정
formLogin을 지원하는 UsernamePasswordAuthenticationFilter를 사용하지 않을 것이기 때문에 이를 비활성화.
controller단에서 잘못된 요청이 올 때 예외를 일관성 있게 처리하기 위해 예외 처리 방법에 대한 GlobalExceptionHandler 구현
유저를 생성하는 컨트롤러 정의,
- 유저를 생성하기 위해 비밀번호, 비밀번호 확인 두 정보를 받아야 하는데, 이에 대해 놓친 부분이 있어서 해당 기능에 필요한 데이터 구조(DTO)를 정의하고 비즈니스 로직, 테스트 케이스에 대해 일부 수정
테스트시 유저에 대해 Authority가 필수적이므로 이에 대한 테스트용 데이터 추가
Authority에 대한 Column이름을 user_username으로 변경
Jwt 토큰을 받아 현재 로그인된 유저의 기본적인 정보를 받아오는 기능 추가
유저 정보를 조회할 수 있는 기능 구현
api요청시 username파라미터만을 요구하는 여러 기능이 있어서  이를 usernameRequest로 변경
유저를 삭제하는 컨트롤러 기능 구현
추
인증 정보를 외부로 부터 받아오는 것이 아닌 SpringSecurity의 ContextHolder로부터 받아오게 될 수 있게끔 구현이 다 되었으므로 이에 대한 테스트 케이스 수정 - BeforeSetup으로 모의 인증 정보 주기
유저 정보를 업데이트 할 수 있는 엔드포인트 추가
@kangdaelyeol kangdaelyeol added the enhancement New feature or request label Jul 19, 2024
@kangdaelyeol kangdaelyeol self-assigned this Jul 19, 2024
@kangdaelyeol kangdaelyeol merged commit 81444cf into main Jul 19, 2024
@kangdaelyeol kangdaelyeol deleted the feature/31-user-controller branch July 19, 2024 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

유저 컨트롤러 구현
1 participant