[박도겸] sprint9#139
Hidden character warning
Conversation
jinho-yoo-jack
left a comment
There was a problem hiding this comment.
전반적으로 코드를 잘 작성하셨으나, 프로덕트 코드의 형태로 사용할 수 있는 수준은 아닙니다.
(디테일한 부분들이 누락이 많이 되어 있거나, 생략된 부분이 있습니다.)
이러한 부분들을 고려하여 코드를 다시 리팩토링 해보시기를 권고 드립니다.
고생하셨습니다.
There was a problem hiding this comment.
AppConfig보다는 JpaAuditing 설정을 활성화 하기 위한 코드라면, JpaConfig가 더 맞지 않을까요?
| } | ||
|
|
||
| @Bean | ||
| public RoleHierarchy roleHierarchy() { |
There was a problem hiding this comment.
하나의 클래스에서 너무 많은 것들을 하고 있는 것 같아요!
SecurityConfig 역할을 하는 코드는 그대로 두고, 그외 것들은 따로 클래스로 분리하는 것이 더 좋아 보입니다. 관심사 분리를 위해서
ro
|
|
||
| public class DiscodeitUserDetails implements UserDetails { | ||
|
|
||
| private final User user; |
There was a problem hiding this comment.
User Entity를 바로 사용하지 말고,
User Entity에 선언되어 있는 필드(멤버)를 여기에서도 선언해주는 것이 올바른 방법입니다.
| return user.getUsername(); | ||
| } | ||
|
|
||
| @Override public boolean isAccountNonExpired() { return true; } |
There was a problem hiding this comment.
아마도 이 부분은 시간이 없어서 제대로 구현을 하지 못한 것으로 보여집니다.
시간이 생겼을 때, 구현 해보시기를 권고 드립니다.
| .orElseThrow(() -> | ||
| new UsernameNotFoundException("User not found: " + username)); | ||
|
|
||
| return new DiscodeitUserDetails(user); |
There was a problem hiding this comment.
위에서 말한 것처럼, 조회된 User Entity의 필드를 이용해서 UserDetail 객체를 생성할 수 있는 정적 메서드를 정의해서 변환이 될 수 있도록 설계하는 것이 올바른 설계 방법 입니다.
| package com.sprint.mission.discodeit.entity; | ||
|
|
||
| public enum Role { | ||
| ADMIN, |
There was a problem hiding this comment.
단순히 권한에 대한 정의만 하는게 아니라,
숫자 값을 함께 정의했다면, 데이터베이스에 데이터를 저장할 때, 더 작은 크기의 데이터 형태로 데이터를 저장하면 저장소 공간을 효율적으로 사용할 수 있겠죠?
|
@2-d0 코드가 현재 Conflict되고 있습니다. 이 부분을 해결하고 알려주시면, Merge해드리겠습니다. |
요구사항
기본
심화
주요 변경사항
스크린샷
멘토에게