Spring Security(3)
-
Netflix Clone Project 를 시작하며
프로젝트 개요 프로젝트를 시작하게 된 이유는 React와 Tailwind css로 된 clone 사이트를 찾다가 아래 강좌를 보고 UI는 구성하게 되었습니다. https://www.youtube.com/watch?v=ATz8wg6sg30 하지만 Backend는 Spring Security 와 JWT 를 사용하여서 자체 구축 하였습니다.다른 예제에는 Refresh Token 갱신까지 다루었지만 본 프로젝트에서는 서버에서는 지정한 토큰만료시간에 맞춰 로그아웃 처리하도록 하였다. Requirements [TMDB]: https://www.themoviedb.org/?language=ko 사이트 인증키 발급을 받아야 합니다. 본 예제에서 사용되는 영화 정보 및 이미지 정보는 TMDB API를 통하여서 구현이 되..
2022.12.26 -
Vue3 프로젝트 개요
앞선 Spring Boot Jwt with JPA and Redis 예제에서는 서버만 구현하였고 Postman을 이용하여 테스트를 진행하였다. 이번에는 Vue3로 화면 구현 후 테스트를 진행 하였 습니다. 이번 Vue3 프로젝트에서 다룰 내용은 아래와 같습니다. 주요 화면 로그인, 사용자 등록, 프로필 사용자 권한에 따른 페이지 이동 처리 Local Storage를 이용한 토큰 관리 Axios Interceptor 를 이용한 AccessToken 갱신 처리 주요 화면 403의 경우는 사용자 별로 권한을 가지고 있는데 관리자 권한이 없는 일반 사용자가 관리자 화면에 접근하는 경우 위의 페이지로 이동하게 된다. Vue 3 관련 사이트 https://www.youtube.com/watch?v=YrxBCBibV..
2021.12.06 -
로그인 프로세스
사용자 로그인에 대한 로직을 살펴보도록 하겠습니다. 아래 시퀀스 다이어그램을 통해서 전체적인 로직을 확인 해보도록 하겠습니다. JwtFilter 로그인시 발급된 토큰 및 쿠키 정보가 없기 때문에 로직 수행없이 LoginController 의 POST /signin 을 수행하게 됩니다. LoginController.signin package com.roopy.controller; import com.fasterxml.jackson.databind.ObjectMapper; import com.roopy.crypto.AES256Cipher; import com.roopy.jwt.JwtFilter; import com.roopy.security.jwt.payload.request.LoginRequest; imp..
2021.06.27