분류 전체보기

Spring Framework/Spring boot

[Spring boot] 커스텀 어노테이션을 활용한 JWT 로그인 사용자 인증과 권한 관리: HandlerInterceptor 인증 로직 구현

Spring의 HandlerInterceptor 구현을 통해 사용자 요청을 가로채어 처리할 수 있는 인터셉터입니다. 이 인터셉터는 특정 핸들러 메서드에 커스텀 어노테이션이 붙어 있을 경우, 해당 요청이 유효한지 검증합니다. 저는 HandlerInterceptor를 통해 인증된 사용자의 권한과 특정 조건을 검사하기 위해 사용했습니다. 로그인한 사용자가 게시글의 작성자인지 확인이 필요한 경우 서비스를 사용하다 보면 로그인 없이 접근 가능한 페이지(홈 페이지 등)가 있고, 로그인을 하거나 추가 권한이 있는 경우에만 접근이 가능한 페이지(게시글 수정, 삭제, 마이페이지)가 존재합니다. 1. 커스텀 어노테이션 만들기 /** * @CheckCombinationOwner : 현재 사용자가 게시글을 작성한 사용자인지 ..

Spring Framework/Spring boot

[Spring boot] Spring 커스텀 어노테이션으로 로그인된 사용자 정보 불러오기 - HandlerMethodArgumentResolver, Webconfig

스프링부트를 통해 프로젝트를 진행하면 "Custom Annotation"을 통해 간편하게 로그인한 사용자의 정보를 불러올 수 있습니다. Controller의 메서드는 사용자의 HTTP, HTTPS 요청을 Serivce에 전달하는 등 핵심 기능만 담당하고, 현재 로그인이 되어있는 사용자의 정보는 어노테이션을 통해 처리합니다. 로그인된 사용자의 정보 불러오기 HandlerMethodArgumentResolver 인터페이스를 구현한 클래스를 추가하여 컨트롤러에서 파라미터에 값을 바인딩 해줄 수 있습니다. @PathVariable의 원리도 HandlerMethodArgumentHandler에 의해서 처리되는 것입니다. 1. 커스텀 어노테이션 정의하기 import java.lang.annotation.*; @Ta..

Spring Framework/Spring

[SPRING] Spring 객체지향 설계 solid 원칙 이해하기 - Spring Container, IoC, DI

SPRING 프레임워크를 통해 객체지향 설계의 원칙 중 SOLID 원칙이 무엇이며, 어떻게 적용되는지 알아보겠습니다. 1. SRP (Single Responsibility Principle) - 단일 책임 원칙 각 클래스는 하나의 단일한 책임만 가져야 한다. Spring에서는 Controller, Service, Repository 등으로 역할을 명확히 나누어 각각의 클래스가 특정 기능 또는 관심사에만 집중하도록 합니다. SRP를 잘 준수했는지 알 수 있는 기준은 변경입니다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따랐다고 할 수 있습니다. // UserController 클래스는 사용자 관리와 관련된 HTTP 요청을 처리하는 책임만을 가져야 합니다. @Controller public ..

Git

[Git] Git branch, switch, merge, rebase 사용하기

Branch 소프트웨어를 개발할 때, 개발자들간에 동일한 소스 코드를 함께 공유하고 서로 다른 작업을 할 때 사용합니다. 1. 브랜치 생성 git branch step1 'step1' 이라는 브랜치가 생성되었지만 ,현재 위치는 아직 main이므로 생성한 브랜치로 이동해야 합니다. 2. 브랜치 이동 git switch step1 main 브랜치에서 step1 브랜치로 이동합니다. 3. 브랜치에서 커밋하기 git commit 4. 브랜치 작업 내역 합치기 (Merge) git switch step1 git merge bugFix git switch bugFix git merge step1 bugFix 브랜치의 위치도 옮겨줍니다. 4.2 브랜치 작업 내역 합치기 (Rebase) git switc..

kylo
'분류 전체보기' 카테고리의 글 목록 (19 Page)