개발일지(일간)
23년 1월 5일 팀 프로젝트
move2
2023. 1. 5. 22:08
기능을 모두 구현하고 최종적으로 main브랜치에 dev브랜치 병합을 했다.
인가가 되는 곳을 변경해 주었는데,
@Secured로 인가를 하면 필터를 넘어 컨트롤러까지 와서 컨트롤러에서 인가를 검증하게 된다.
이렇게 되면 RestControllerAdvice를 통해 예외처리가 가능하다.
하지만, 시큐리티를 쓰는 이유가 인증 인가와 관련된 처리를 시큐리티 필터에서 처리해주기 위해서 쓰는 것이라고 생각했고,컨트롤러까지 내려와서 처리를 하면 시큐리티를 쓰는 의미가 없다고 생각해 SecurityConfig에서 .hasanyRole을 통해 인가를 처리하고, 예외는 accessDeniedHandler를 통해 처리해주었다.
그리고 추가적으로 게시글 전체 불러오기에 페이징 처리를 해 주었다.
그런데 문제는, 코멘트가 포스트에 @OneToMany로 연관관계가 되어 묶여있기 때문에 따로 페이징 처리를 해줄 수 가 없었다.
한 페이지에 포스트는 5개를 표시하고, 포스트의 코멘트는 3개까지 표시하고 싶어도 그렇게 따로 따로 처리를 할 수 없다는 것이다.
꼭 필요한 곳이 아닌곳에는 @OneToMany로 연관관계를 맺어주지 말아야겠다는 생각이 들었다.
당장 내일이 발표이기 때문에 리팩토링을 해주지는 못했지만 따로 처리하는 방법은 발표가 끝난 후에 고민해봐야겠다.