본문 바로가기

전체 글

(15)
스프링 시큐리티 인증/인가 리팩토링 사전 지식해당 글을 이해하기 위해 중요한 스프링 시큐리티 개념 몇 가지를 소개하겠습니다Json Web Token (JWT): 웹 토큰으로 사용자 인증 정보를 안전하게 전송하는 방식입니다.Filter: HTTP 요청을 처리하고 응답을 수정하는 데 사용되는 스프링 시큐리티의 주요 구성 요소입니다.Authentication 객체와 AuthenticationManager: Authentication 객체는 인증 요청을 나타내는 객체이며, AuthenticationManager는 이를 처리하고 인증을 수행하는 인터페이스입니다. AuthenticationManager는 여러 AuthenticationProvider를 이용하여 인증을 시도하고 성공하면 Authentication 객체를 반환합니다.Authenticat..
[vue3 Quasar with pinia] 로그인 및 인증(2) 이전 포스트에서 토큰의 저장 위치에 대해 알아보았습니다.  이번에는 저희가 만든 프로젝트에서 어떻게 로그인 및 인증 로직이 수행되는지 살펴보도록 하겠습니다. 프론트엔드 코드를 설명하기에 앞서 백엔드에서 사용하는 로그인 / 토큰 갱신 API를 살펴보겠습니다. Backend Code ( Spring Boot )쿠키 관련 유틸 함수 private Cookie createRefreshTokenCookie(TokenResponse tokenResponse) { Cookie cookie = new Cookie("rtk", tokenResponse.getRtk()); cookie.setHttpOnly(true); //cookie.setSecure(true); // Https 사용 시 ..
[vue3 with pinia] 로그인 및 인증(1) 해당 포스트를 이해하기 위해서는 다음과 같은 개념을 알고 계셔야 합니다!Jwt(Access Token, Refresh Token)PiniaSpring Boot3 & Spring Security6  안녕하세요 Vue3를 사용하여 구축한 프론트엔드 프로젝트에서 로그인 및 인증이 어떻게 수행되는지 살펴보겠습니다.우선 Access Token, Refresh Token이 프론트엔드의 어느 곳에 저장되는지 부터 살펴보겠습니다.   Token은 어디에 저장해야 할까?Token를 저장할 수 있는 위치는 다음과 같이 총 세 곳이 존재합니다Local StorageSession StorageMemoryCookie ( HttpOnly )각 저장소 별 장단점을 가볍게 살펴보겠습니다! Local Storage로컬 스토리지(Loc..
Vue 템플릿 재사용을 위한 "slot" 안녕하심까!!!어쩌다보니 이제야 쓰게되는 블로그 글 ㅎㅅaㅎ... (죄삼다! OTL) 개념을 정확하게 알고 정보를 전달하기보다는제가 코드 짜면서 생각했던 것과 공부한 걸 팀원들에게 전달하는 게 목적이기 때문에 !!말은 편하게 하겠습니닷 ㅎㅎ  개발 배경부터 설명드리자면~~저는 바우처&리워드쪽 백엔드 코드를 어느정도 마무리하고 더 필요한 api를 뽑아내기 위해서 프론트 작업으로 넘어왔답니다일단 데이터가 화면에 제대로 찍히는 지 부터 확인하기 위해서 바우처 리스트를 출력하는 화면부터 만들어보기로 했는데요결과는 다음과 같았습니다!와아아~~~ 개쩐다ㅋㅋ그런데 순간 드는 생각...잠깐... 이 테이블 형식을 저장해두고 다른 컴포넌트에서 갖다 쓸 순 없을까?!? 이게 무슨 말이냐 ?객체지향 수업시간에 항상 나오는 ..
[CI/CD] Github Actions & Docker를 활용한 배포 자동화 - 1 배포 자동화Docker와 Github Actions를 활용해 배포 자동화를 구축하기 위해 간단하게는 Dockerfile, docker-compose.yml, Github 설정 및 Github Actions 워크플로우 파일을 작성해줘야 한다. 오늘은 그중 Dockerfile과 docker-compose.yml에 대해 알아보자.Dockerfile을 통한 이미지 생성Dockerfiile을 통해 docker image를 만들 수 있다. 어떤 docker base image에 파일을 작송하고 컨테이너를 실행시키는 과정으로 이미지를 빌드할 수 있다. Dockerfile은 결국 이 과정을 담는 스크립트의 파일명이 된다.문법- FROM : 베이스 이미지 지정- RUN : 커맨드를 실행하기 위해 사용- ENV : 환경 ..
[SpringSecurity6] 메서드 수준 보안 ( with JWT ) 스프링 시큐리티는 다양하고 세밀한 보안 기능을 갖고 있습니다.그 중 하나가 비지니스 로직을 포함한 메서드를 보호하기 위한 메서드 수준 보안입니다.간단하게 어노테이션을 사용하여 권한에 따라 메서드를 보호할 수 있습니다  @EnableMethodSecurity@EnableJpaAuditing@SpringBootApplication@EnableMethodSecuritypublic class MinglecrmApplication { public static void main(String[] args) { SpringApplication.run(MinglecrmApplication.class, args); }} 메서드 수준 보안을 위해 가장 먼저 스프링 어플리케이션 클래스에 @EnableMe..
Third party cookie란(1)? 웹페이지를 탐색할 때, 종종 자신이 검색한 상품이나 서비스에 대한 광고를 여러 웹사이트에서 볼 수 있습니다. 이러한 현상은 Third Party Cookie를 통해 가능해집니다. 이번 글에서는 Third Party Cookie의 개념과 이를 Java와 Spring을 이용해 구현하는 방법을 알아보겠습니다.목차1.Third Party Cookie?  1.1 third party  1.2 cookie  1.3 First Party vs Third Party 2. Third Party Cookie의 구현 (Java & Spring)  2.1 프로젝트 의존성 소개  2.2 프로젝트 예제 코드 및 구현  2.3 깃허브 주소 1. Third Party Cookie?1.1 Third Party란? Third Party..
[CI/CD] Github Actions과 Jenkins 차이 Github Action과 Jenkins의 차이Github ActionsvsJenkins젠킨스에 비해 최근에 나와 참고자료가 적음CI/CD를 구성하기 쉬움참고할 자료가 많음CI/CD를 구성하는 게 어려움 Github ActionsGithub 저장소를 기반으로 소프트웨어 개발 Workflow를 자동화 활 수 있는 도구이다. 즉 Github에서 직접 제공하는 CI/CD 도구라고 할 수 있다. Workflow는 Github 저장소에서 발생하는 build, test, package, release, deploy 등 다양한 이벤트를 기반으로 직접 원하는 Workflow를 만들 수 있다. Workflow는 Runners라 불리는 Github에서 호스팅 하는 Linux, macOS, Windows 환경에서 실행된다...