Spring 4

[Spring Security] 비밀번호 암호화

Bcrypt 란? Bcypt는 브루스 슈나이어가 설계한 키(key) 방식의 대칭형 블록 암호에 기반을 둔 암호화 해시 함수다. Niels Provos 와 David Mazières가 설계했다. Bcrypt는 레인보우 테이블 공격을 방지하기 위해 단방향 암호화에 솔팅과 키 스트레칭을 적용한 대표적인 예이며 복호화가 불가하다. 이를 활용하여 비밀번호 암호화를 해볼 예정이다 ! 1. Spring Security 의존성 주입 우선 비밀번호 암호화에 사용되는 PasswordEncoder를 사용하기 위해서는 Spring Security 의존성을 주입해줘야 한다. org.springframework.boot spring-boot-starter-security org.springframework.security spr..

Spring 2023.06.12

[Spring + JPA] No Property Found for Type Exception 에러 해결

구현 프로젝트 연극 리스트를 출력하는 과정에 페이징 처리를 구현해보려 한다. 1. Service public Page selectAll(Pageable pageable){ return playRepository.findAll(pageable); } Page을 타입으로 지정하면, 반드시 파라미터로 Pageable을 받아야 한다. 2. Controller package com.cc.model.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org..

Spring 2023.06.03

[Spring + Jpa] 테이블 Join & 문제해결

구현 CommentDto에 해당하는 UserDto를 가져오고자 G_Comment 테이블과 G_User 테이블을 조인 CommentDto Class package com.gld.model.dto; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.I..

Spring 2023.05.15

[Spring + Jpa] 로그인 구현하기 & 문제해결

구현 1. JPA를 이용하여 회원 정보를 관리하는 User Entity Class package com.gld.model.dto; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "G_USER") public class UserDto { @Id private Long Id; @Column(name = "USER_ID",nullable = false, unique = true) private String userId; @Column(name = "US..

Spring 2023.04.29