본문 바로가기

프로젝트/SpringBoot Side Project16

대댓글 JPA로 구현하기 Comment라는 엔티티를 부모와 자식 상속관계로 구현한다. commentResponseDto.getCommentId() = 1 commentResponseDto.getContent() = 댓글1 commentResponseDto.getParentId() = null child.getContent() = 답글1 commentResponseDto.getCommentId() = 2 commentResponseDto.getContent() = 답글1 commentResponseDto.getParentId() = 1 child.getContent() = 답글1의 답글1 commentResponseDto.getCommentId() = 3 commentResponseDto.getContent() = 답글1의 답글1.. 2024. 1. 23.
spring security에서 로그인 한 사용자의 권한 체크용 간단한 코드 @RestController @RequiredArgsConstructor public class MemberController { @GetMapping("/test/1") // 권환 확인용 public Collection 2024. 1. 18.
Elastic Beanstalk 서버 시간 변경 배포해놓은 프로젝트를 테스트하던 중 서버 시간이 맞지 않아서 SSH 로 서버 시간을 설정해보겠습니다. CICD설정해놓은 yml 파일에 time 설정이 있는데 왜 안되는지 모르겠습니다. 일단 서버 시간변경이 급하니까 본론으로 들어가겠습니다. MobaXterm으로 ec2 퍼블릭ip4 주소를 이용해서 SSH로 접속한다. sudo rm /etc/localtime $ sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 그리고 sudo vi /etc/sysconfig/clock 을 해서 Zone 값을 "Asia/Seoul" 로 바꿔주었습니다. sudo reboot를 했는데요, 시간은 그대로 입니다. ㅎㅎ.. 이미 환경설정 파일을 첨부해서 배포하는 방법도 시도해보았지.. 2023. 12. 21.
트러블슈팅 failed to lazily initialize a collection of role: personal.blog.entity.User.authorities: could not initialize proxy - no Session 오류 발생 해결하기 이번에 blog 프로젝트를 수정하면서 권한을 여러개 주기로 결정했다. 권한을 엔티티로 만들고, User와 권한을 일대다로 매핑하고 @OneToMany(mappedBy = "user") List autorities = new ArrayList(); 로 받아왔더니 spring security가 Login처리를 하는 과정에서 지연로딩 프록시 초기화가 불가능한 문제가 발생했다. 문제 해결과정 1) Hibernate.initialize(authorities)메소드를 .. 2023. 12. 14.
blog ERD 허접한 수준의 ERD :) ... 블로그 기능추가를 위해 다시 엔티티를 모델링해보았다. Authorities를 다대다로 많이 하던데 다대다로 하기 싫어서 다대일로 풀어내려고 한다. 2023. 12. 13.
jwt - refresh token spring security 6 를 적용해서 jwt 토큰으로 login 처리를 하는 것은 인프런 강의를 참고해서 성공했다. 하지만 access token 처리만 하기 때문에 보안이 아쉬워서 refresh token을 사용하는 예제를 보여주는 도서를 따로 구입했다. 2023. 12. 3.