본문 바로가기

Spring55

[TIL] 240407 SpringSecurity 인증 Authentication - 아이디, 비밀번호 등으로 자격 증명을 확인하는 일 인가 Authorization - 보안팀에서 관리하는 설정에 맞게 권한을 허가/거부 하는 것 - 접근 불가 페이지 등 SpringSecurity - Spring에서 보안을 쉽게 만들기 위해 제공 - DispatcherServlet 이전에 filter단에서 springSecurity가 동작 (FilterChainProxy) - Form Login 기반 인증은 인증이 필요한 URL 요청이 들어왔을 때 인증이 되지 않았다면 로그인 페이지를 반환 - 인증과정 1. username과 password 제출 2. UsernamePasswordAuthenticationFilter에서 사용자의 정보를 담아서 UsernamePasswor.. 2024. 4. 7.
[TIL] 240405 Bean Validation Bean Validation @NotNull @NotBlank @Email 등 dto 예시 @Getter public class ProductRequestDto { @NotBlank private String name; @Email private String email; @Positive(message = "양수만 가능합니다.") private int price; @Negative(message = "음수만 가능합니다.") private int discount; @Size(min=2, max=10) private String link; @Max(10) private int max; @Min(2) private int min; } @Valid Bean Validation을 받아오는 곳에 @Valid 애너테.. 2024. 4. 5.
[TIL] 240402 SpringSecurityConfig security는 세션방식으로 동작함 Spring Security는 인증 및 인가를 처리하기 위해 Filter를 사용 ( FilterChainProxy를 통해 상세로직 구현) Form Login 기반 인증 인증이 필요한 url에 들어왔을 때 인증이 되지 않으면 로그인 페이지 반환 Security Context Holder 안에 Security Context안에 Authentication(토큰)안에 로그인 정보가 있음 로그인 인증 과정 Authentication Manager가 UserDetailsService로 DB 조회 후 인증 2024. 4. 3.
[TIL] 240401 JWT토큰 JWT란? Jason Web Token (토큰의 한 종류) 쿠키 저장소에 저장 Header, Payload, Signature로 구분 2024. 4. 3.
[TIL] 240328 Spring Data JPA , JpaAuditing, Query Method ORM Object Relation Mapping 객체와 데이터베이스를 매핑해줌 (자바 클래스와 DB를 쉽게 연결) 반복적인 sql작업을 줄여주기 위해 사용 JPA JPA: Java Persistence API 자바 ORM 기술에 대한 표준 명세 JPA의 트렌젝션 - 여러개의 sql을 하나의 트렌젝션으로 관리 - 모든 SQL이 성공적으로 수행이 되면 DB에 영구적으로 변경을 반영하지만 SQL 중 단 하나라도 실패한다면 모든 변경을 되돌림 - DB의 데이터를 안전하게 관리 SpringBoot환경에서의 JPA Spring의 트랜잭션 - Spring 프레임워크에서는 DB의 트랜잭션 개념을 애플리케이션에 적용할 수 있도록 트랜잭션 관리자를 제공 - @Transactional 애너테이션을 클래스나 메서드에 추가하.. 2024. 3. 28.
[TIL] 240205 코드 리뷰/프로젝트 복습 Product 별점 평균 동적 계산 @Formula("(SELECT AVG(r.star) FROM reviews r WHERE r.product_id = id)") private Double averageRating; 🔼 ProductEntity - @Formula : db의 데이터를 기반으로 값을 계산하는 sql표현식을 지정하게 하는 어노테이션 - ("(SELECT AVG(r.star) FROM reviews r WHERE r.product_id = id)") //averageRating을 계산하는 SQL표현식 - averageRating 속성에 액세스 할 때마다 해당 값을 Hibernate이 db에서 관련 데이터를 기반으로 편균 평점을 동적으로 계산 상품 검색 쿼리 public Page getProductsBySe.. 2024. 2. 5.