목록Spring (78)
빙응의 공부 블로그

📝예외 처리 개요 일반적으로 비즈니스 로직만큼 예외처리에 투자하지 않는다고 한다. 그러나 무성의한 예외 처리는 애플리케이션의 많은 버그를 낳을 수 있기에 올바른 예외 처리 방법을 알아보자. 스프링의 오류 처리 방법은 아래 포스팅에서 한번 했었다. [Spring]스프링 MVC 2편 - API 오류 처리 (tistory.com) [Spring]스프링 MVC 2편 - API 오류 처리 📝API 오류 처리 API의 예외 처리는 다르게 처리해줘야 한다. HTML 페이지의 경우 지금까지 설명했던 것 처럼 4XX,5XX 같은 오류 페이지만 있으면 대부분의 문제를 해결할 수 있다. 그러나 API의 경우 quddnd.tistory.com 위의 포스팅은 여러가지 예외처리 방법을 설명하는 것으로 이번 포스팅에서는 주로 사용..

📝JWT JWT(JSON Web Token) JWT란 JSON 객체로 당사자 간에 정보를 안전하게 전송하기 위한 간결하고 독립적인 방법을 정의하는 개방형 표준이다. JWT는 비밀키 혹은 RSA 등을 사용하여 공개/개인 키 알고리즘을 구현할 수 있다. 📝JWT 구성 JWT는 예를 들면 편지라고 생각할 수 있다. 편지는 3가지로 구성된다. 여러 정보가 적힌 봉투 실제 내용이 담긴 편지지 누가 쓴 글인가 확인하는 서명 JWT도 위처럼 구성된다. 여러 정보가 적힌 봉투 header라 부르며 일반적인 유형과 서명 알고리즘이 쓰여있다. { "alg": "HS256", "typ": "JWT" } 실제 내용이 담긴 편지지 JWT에서 실제 내용이 담긴 곳을 Payload라 부르며 각 부분을 Claim이라고 한다. { "..

📝스프링 시큐리티 실습 목표 : 계정 역할 없이 로그인 창 구현 회원 가입을 위한 Validation도 포함 생성 파일 Config SecurityConfig controller LoginController domain DTO JoinDTO Member repository MemberRepository Service LoginService MemberService View join.html login.html main.html 사용 의존성 - Spring Security - Lombok - Validation - Thymeleaf - MySQL - Jpa 🚩도메인 및 DTO 구성 Member @Entity @Getter @Setter public class Member { @Id @GeneratedVal..

1편 안봤으면 보고오자, 간단한 개념을 설명하였다. [Spring]스프링 시큐리티 - 개요 (tistory.com) [Spring]스프링 시큐리티 - 개요 📝Spring Security Spring Security란 일반적인 공격에 대한 인증, 권한 부여 및 보호를 제공하는 프레임워크이다. 스프링 시큐리티의 기능은 크게 4가지로 나눈다. 인증(Authentication) 권한 부여(인가 : Auth quddnd.tistory.com 📝Spring Security의 구조 스프링 시큐리티의 구조(아키택처)에 대해 알아보자 전에도 말했듯 스프링 시큐리티는 필터 기반의 기술이다. 필터 흐름 HTTP 요청 - WAS - 필터 - 서블릿 - 컨트롤러 🚩Spring Security 구조 1. 유저 자격을 기반으로 인..

📝Spring Security Spring Security란 일반적인 공격에 대한 인증, 권한 부여 및 보호를 제공하는 프레임워크이다. 스프링 시큐리티의 기능은 크게 4가지로 나눈다. 인증(Authentication) 권한 부여(인가 : Authorization) 악용으로부터 보호 통합 인증(Authentication) 인증이란 특정 리소스에 엑서스하려는 사용자의 ID를 확인하는 방법이다. 인증에 사용되는 일반적인 방법은 사용자에게 사용자 이름과 암호를 입력하도록 요구하는 것이다. 이것을 지식 기반 인증이라고 한다. 기본적으로 Servlet 환경과 WebFlux 환경에서 모두 적용된다. 권한 부여(Authorization) 권한 부여는 특정 리소스에 액세스할 수 잇는 사용자를 결정하는 것이다. 스프링 시..

📝변경 감지와 병합(merge) JPA에서 값을 업데이트는 어떻게 하는걸까? 변경 감지!! 🚩변경감지 JPA에서 엔티티를 조회한 후, 해당 엔티티의 상태를 추적하여 변경 여부를 감지하는 매커니즘을 말한다. 엔티티의 상태가 변경되는 JPA는 트랜잭션 커밋 시점에서 변경을 감지해 업데이트 쿼리를 날려준다. 이는 영속성 컨텍스트에서 관리되기에 적용되는 범위이다.!! @Transactional void update(Item itemParam) { //itemParam: 파리미터로 넘어온 준영속 상태의 엔티티 Item findItem = em.find(Item.class, itemParam.getId()); //같은 엔티티를 조회한다. findItem.setPrice(itemParam.getPrice()); //..