개인 프로젝트 (30) 썸네일형 리스트형 자체 버전 관리.. v1 다 잘 되는 상태@Beanpublic SecurityFilterChain filterChain(HttpSecurity http, AuthenticationManager authenticationManager) throws Exception { http.csrf(csrf -> csrf.disable()); http.cors((corsCustomizer -> corsCustomizer.configurationSource(new CorsConfigurationSource() { @Override public CorsConfiguration getCorsConfiguration(HttpServletRequest request) { Cor.. EC2에 MariaDB 설치 putty에 접속 후 mariadb를 설치한다.$ sudo apt-get update$ sudo apt-get install mariadb-server MariaDB가 정상적으로 설치되었는지 확인한다.sudo systemctl status mariadb MariDB를 시작한다.sudo systemctl start mariadb -----------------AWS RDS 생성하고 ----------------- EC2에서 RDS 연결하기 위해 MySQL 클라이언트를 실행한다.(MariaDB를 직접 EC2에 설치한 상태에서, RDS에 연결하려면 mysql 명령어를 사용한다.)mysql -u admin -p -h {RDS 앤드포인트} (참고로 admin은 RDS에 생성한 사용자 계정) 그리고 admin .. http -> https 프로젝트를 무사히 배포했지만 위치 정보를 불러오지 못하는 문제가 생겼다. navigator.geolocation으로 위치 정보를 불러왔었는데, 이는 보안 문제로 https에서만 사용이 가능하다. 하지만 http로 navigator.geolocation을 호출하니 동작하지 않았던 것이다.... 1. 일단 먼저 putty를 통해 nginx를 설치해주었다. nginx를 이용해서.... 뭐가 좋은지 작성퍼블릭ip로 접속했을 때 80으로 접속됨을 확인 2. 가비아에서 도메인 구매 3. aws route 53 접속 후(호스팅 영역(Hosted Zone)은 특정 도메인과 해당 도메인에 대한 DNS 설정을 관리하는 컨테이너 역할을 하는 개념이다. 호스팅 영역을 통해 Amazon Route 53이 도메인 이름에 대한 트.. Spring + Vue 배포하기 Spring으로 backend를Vue로 frontent를 담당하여 개발하였다. 기억에 남도록 배포하는 과정을 남기고자 한다. 1. vue buildvue의 터미널에서 npm run build 명령어를 입력하면frontend 폴더에 dist 폴더가 생성된다. 2. dist 파일 spring으로 이동시키기dist 폴더 내의 모든 파일을 src/main/resources/static 폴더 안에 모두 넣는다. 3. WebConfig 설정하기WebConfig 파일을 생성하고 addResourceHandler 메서드에 다음 코드를 추가해서정적 리소스 핸들러를 설정하였다. "/**/*" root context 아래 모든 주소는 static 폴더 내에서 찾으면 된다는 코드이다.import org.springframew.. 배포하는 법 정리... 스프링부터 웹서버를 돌아가게 하기 위해서.... 즉 스프링 부트 앞에서 직접 조리하는 사람(웹서버) 한 명그걸 저장하는 저장 담당 사람(데이터베이스) 한 명 두 개를 아마존 EC2란 가상의 서버 안에 띄우는 것 * 에러의 원인이 되는 설정 파일들application.ymlDockerfile 실행 순서AWS EC2 ssh 접속 -> 코드 github clone(아니면 도커 허브) -> docker 설치 -> jdk 설치 -> ./gradlew clean build -> docger build -> docker images 확인 -> docker run -> docker ps 확인 현재 문제가 뭐냐면...... 로그인 상태에서 메인 페이지에 머무르다가.....무한 스크롤을 통해 Outfit 데이터를 호출하면......토큰재발급을 해야하는데..... 실패함 갑자기 됨... 머임? 그래도 이번 에러가 발생했던 기억을 더듬어로그아웃 기능 처럼 sessionStorage에 저장된 memberId를 제거하고 memberId를 0으로 명시적으로 설정한 뒤로그인 상태를 나타내는 isLoggedIn을 false로 설정해주었다. API 명세서 IndexMethodURIDescription1POST/api/main/signup/dupl/{email}이메일 중복 확인2POST/api/main/signup회원 가입3GET/api/main/weather날씨 정보 조회 POST/api/main/reissue토큰 재발행 POST/api/outfit/write옷차림 리뷰 작성 GET/api/main/outfits모든 옷차림 리뷰 조회 PATCH/api/outfit/{outfitId}리뷰 삭제 GET/api/outfit/history내 리뷰 전체 조회 GET/api/outfit/items옷 종류 조회(리뷰 작성시) POST/api/main/login로그인 POST/api/account/logout로그아웃(CustomLogoutFilter) GET/api/a.. SecurityContextHolder에 저장된 사용자 정보 가져오는 방법 몰까요 Spring Securty 인증 후에 로그인 한 사용자 정보가 필요한 경우가 발생했다. 사용자 정보를 가져오기 위해서 어떻게 해야 할까? 1. SecurityContextHolder로 직접 가져오기아래 그림을 통해 SecurityContextHolder 구조를 한번 살펴보자. SecurityContextHolder는 스프링 시큐리티에서 인증 정보를 관리하고, 현재 요청의 보안 상태를 유지하는 중요한 컴포넌트이다. 스프링 시큐리티는 이를 통해 인증된 사용자의 정보와 권한을 유지하며, 요청 처리와 권한 검증을 수행한다. 여기서 Principal 객체가 인증된 사용자 정보를 저장하는 객체를 의미한다. 현재 사용자 아이디SecurityContextHolder.getContext().getAuthent.. 이전 1 2 3 4 다음