본문 바로가기

IT49

[Server] 토큰 기반 인증 & 세션 기반 인증 Authentication (인증) /  Authorization (인가) 세션 기반 인가와 토큰 기반 인가에 대해 알아보기 이전에 먼저, 인증과 인가가 무엇인지부터 알아야 할 필요가 있다. 인증과 인가를 같거나 비슷한 개념이라고 생각하는 사람들이 많을 텐데, 엄밀하게는 서로 다른 개념이다. 인증과 인가는 시스템의 자원을 적절하고 유효한 사용자에게 전달하고 공개하는 방법이다. Authentication (인증)인증은 쉽게 말하자면, 로그인을 뜻한다.클라이언트가 자기 자신이라고 주장하고 있는 사용자가 맞는지를 검증하는 과정이다. 예를 들어 로그인 화면에서 내가 아이디와 패스워드를 입력해 제출하면, 서버에서는 내가 입력한 아이디와 패스워드에 대해 유효한 사용자가 맞는지 확인한다.이와 같은 로그인 과정을 인증.. 2024. 8. 26.
[Spring boot] Spring Boot 3.2 RestClient의 등장 Spring Http ClientSpring Framework는 RestTemplate, WebClient와 같은 Http Client를 지원하고 있다. 하지만 이들은 각각 문제점을 가지고 있었다. 대표적으로 RestTemplate은 사용이 직관적이지 못하며, Blocking 동기식으로 동작한다.따라서 서비스 로직이 굉장히 복잡하거나 오래 걸릴 경우 쓰레드 차단으로 인해 지연이 발생할 수 있다. Spring Framework 3.0 버전에 도입된 후, Template과 유사한 클래스에 Http의 모든 기능을 노출하면, 너무 많은 메소드가 overload 된다는 문제가 존재하였다. 따라서 Spring Framework 5에서는 RestTemplate 대신 리액티브 프로그래밍 기반인 WebClient를 사용.. 2024. 8. 18.
[Spring boot] Spring의 다양한 에러 처리 HandlerExceptionResolver이전 포스트에서 HandlerResolverException를 구현하는 구현체를 만든 후,직접 Media Type에 따라 에러 처리에 대한 뷰 템플릿 및 데이터 반환을 진행하였다.하지만 모든 예외에 대해서 구현체를 만드는 것은 너무 복잡하고 시간이 많이 든다.따라서 Spring에서 제공해 주는 HandlerResolverException의 구현체를 이용하는 것이 좋다.빈으로 등록되어 관리되는 구현체는 총 4개로 다음과 같다.DefaultErrorAttributes에러 속성을 저장하며 직접 예외를 처리하지는 않는다.ExceptionHandlerExceptionResolver에러 응답을 위한 Controller나 ControllerAdvice에 있는 Exceptio.. 2024. 8. 18.
[Spring boot] HandlerExceptionResolver Custom 예외 처리 HandlerExceptionResolver이 전 포스팅에서 Spring에서 Default 예외 처리 및 예외 처리 추상화를 위한 HandlerExceptionResolver 인터페이스를 소개하였다. 해당 인터페이스는 발생한 Exception을 catch 하고 HTTP 상태나 응답 메시지 등을 설정한다. [Spring boot] Spring boot의 예외 처리 방법Spring boot Default 예외 처리예외 처리는 웹 애플리케이션을 만드는 데 있어서 중요한 부분을 차지한다.Spring Framework는 다양한 예외 처리 방법을 제공하고 있다.그중에서 먼저 기본적인 예외 처리kyu-nahc.tistory.com Spring MVC는 컨트롤러(핸들러) 밖으로 예외가 던져진 경우 예외를 해결하고,동작.. 2024. 8. 16.
[Spring boot] Spring의 Default 예외 처리 Spring boot Default 예외 처리예외 처리는 웹 애플리케이션을 만드는 데 있어서 중요한 부분을 차지한다.Spring Framework는 다양한 예외 처리 방법을 제공하고 있다.그중에서 먼저 기본적인 예외 처리 방법에 대해 알아보자.@RestController@RequestMapping("/public")@RequiredArgsConstructorpublic class TestController { private final PostService postService; @GetMapping("/post/{id}") public ResponseEntity getPostProcess(@PathVariable Long id) { return ResponseEntity.ok.. 2024. 8. 16.
[Spring boot] Ck Editor5 파일 업로드 최적화 과정 개발 환경Spring boot 3.3.0Java 21IntelliJMavenCk Editor 5Thymeleaf 파일 업로드 최적화 구현 방안 저번 포스트에서 CK Editor 설정 및 Java Api 코드를 설명하였다. [Spring boot] Ck Editor5 파일 업로드 구현개발 환경Spring boot 3.3.0Java 21IntelliJMavenCk Editor 5Thymeleaf CK Editor 설정CK Editor는 게시글을 작성 시 글쓰기 툴을 제공하는 JavaScript 프레임워크이다.CK Editor를 통해 글씨 크기와 굵기, 도표, 사진 및 링kyu-nahc.tistory.com하지만 제출된 게시물의 이미지만 저장하는 것이 아닌,CK Editor를 통해 업로드한 이미지를 모두 서버.. 2024. 8. 12.

loading