전체 글
-
[Spring Boot] 시큐리티 회원가입시 추가정보 미기입 상태 분기처리SpringBoot Meteor 2021. 12. 23. 14:56
개발을 하면서 기존 시큐리티 OAuth2.0을 이용하여 카카오 로그인을 하고 추가 정보를 입력하는거 까지 회원 가입 완료 스텝으로 보는 상황이었다. 그런데 문제점이 로그인 상태가 먼저 되기때문에 추가 정보를 기입하지않고 다른 페이지로 이동하면 로그인 처리가 완료되어 인가 상태가 되어버렸기 때문에 추가적인 로직이 필요했다. 처음에는 AOP를 이용하여 처리를 하려했으나 모든 회원(추가 정보 입력도 완료)이 모든 요청시마다 해당 로직을 타는게 맞는지에 대한 얘기가 나왔고 다른 해결방법으로 처음에 가입할 때 주던 ROLE_USER권한을 ROLE_TEMP라는 권한타입을 하나 추가하고 추가 가입까지 완료 되어야 ROLE_USER권한을 주었다. 기존 시큐리티 설정 @RequiredArgsConstructor @Ena..
-
[Spring Boot] Spring Security 시큐리티 권한 업데이트 시 동적 적용SpringBoot Meteor 2021. 12. 21. 13:31
관리자 페이지에서 회원에 따른 권한을 변경하였을 때 재 로그인을 하지 않더라도 변경된 권한이 적용되어 권한이 걸린 경로로 접근하는 것을 막고 싶을 때 (로그아웃을 시킨뒤에 다시 로그인 플로우를 진행하게되면 사용자의 불편함이 예상, 그리고 권한이 바뀐 이후의 시점에도 로그아웃(세션을 끊음)을 하지않는다면 로그아웃 이전까지의 권한이 유지됨) 최초 로그인 시에 SpringSecurity가 계정 정보를 관리할 수 있도록 Authentication객체를 만들어준다. 이 Autentication객체 안에는 로그인 시점의 계정 정보를 담고 있다. 사용자의 권한이 변경 또는 추가가 되어도 update된 정보에 대해서는 Authentication객체에는 현행화(동기화)가 되지않았기 때문이다. 즉, Security가 게정..
-
[Spring Boot] 쿼리 DSL을 이용한 서브쿼리SpringBoot Meteor 2021. 12. 17. 09:52
쿼리DSL 서브쿼리를 이용하여, 해당 회원 리뷰 글 + 좋아요 수 조회 우선 QueryDSL에 구현하고자 하는 메서드를 정의해준다 public interface ReviewQueryDSLRepository { List getAdminMemberReviewDTOList(Long memberIdx); } QueryDSLImpl 에서 구현부 코드를 작성해준다. @Override public List getAdminMemberReviewDTOList(Long memberIdx) { // DTO로 반환 JPAQuery adminMemberListDTOJPAQuery = query .select( new QAdminMemberReviewDTO( reviewEntity.idx, reviewEntity.title, r..
-
[SpringBoot] 쿼리 DSL 동적 조건문 생성SpringBoot Meteor 2021. 12. 17. 09:50
우선 QueryDSL에 구현하고자 하는 메서드를 정의해준다 public interface MemberQueryDSLRepository { Page getAdminMemberListDTOPage(Pageable pageable, String category, String searchType, String searchValue); } RepositoryImpl 에서 구현을 해준다. @RequiredArgsConstructor public class MemberRepositoryImpl implements MemberQueryDSLRepository{ private final JPAQueryFactory query; //QEntity.entity로 사용 해야함 @Override public Page getAd..
-
[SpringBoot]Content-Security-Policy(resorces request https)SpringBoot Meteor 2021. 11. 10. 15:56
개발을 마치고 배포를 하는 과정에서 프로젝트의 css 및 js resources를 받아오지 못하는 상황을 겪었다 정확히는 SSL적용 하지않았기때문에 프로토콜이 http로 요청되어져야 하는데 브라우저에서 리소스를 다운 받을 때 https경로로 요청을 했기때문이다. 처음에는 로컬에서 임시 SSL키를 만들어 사용했는데 그게 톰캣내부적으로 설정이 되버린건가 싶어서 플젝도 새로만들어 코드도 옮겨보고했지만 여전히 요청은 https 가는 상황이었다 (아래그림처럼 .. ). 열심히 구글링을 하면서 구글 크롬 정책관련글도보고 해서 이게 크롬브라우저의 이슈인건가 싶었지만 다른 프로젝트는 잘 돌아가는 걸 보면 납득할 수 있는 이유는 아니었다. 그렇게 헤메던중 동료중 한명이 특정 url에 접속했을때는 리소스들을 잘 가져오는 ..
-
[React] eject 관련 자료 링크 - 공부하고 정리할 것React Meteor 2021. 10. 26. 17:27
https://xtring-dev.tistory.com/55 [React] eject가 필요하다면 - npm run eject 요즘은 큰 문제가 없다면 React 프로젝트를 CRA 진행하곤 합니다. eject를 하게 되면 해당 프로젝트에 숨겨져 있는 모든 설정을 밖으로 추출할 수 있으며 이를 통해서 webpack과 babel의 자유로운 세팅 xtring-dev.tistory.com https://liante0904.tistory.com/176