[회원가입] 비밀번호 확인
·
Project 댕린이집
보안성을 위해 회원가입 시 비밀번호와 비밀번호 확인 필드의 값이 일치하는지 확인하는 과정입니다. 처음에는 아무것도 모르고 비밀번호2 라는 컬럼을 DB에 생성했더랬죠... 하지만 그럴 필요없이 DTO와 프론트단에 필드만 만들어주면 됩니다! [React] Register.js password2 필드를 추가해줍니다. {/* 비밀번호 */} 비밀번호 {/* 비밀번호 확인 */} 비밀번호 확인 UserDTO.java private String password2; 를 추가해줍니다. @JsonProperty("password2") @NotBlank(message = "비밀번호는 필수 입력 값입니다.") @Pattern(regexp = "(?=.*[a-z])(?=.*[0-9]).{8,16}$", message = "비..
[회원가입] 유효성 검사
·
Project 댕린이집
UserDTO에 @Valid 사용 build.gradle implementation 'org.springframework.boot:spring-boot-starter-validatio import import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; @NotBlank @Pattern @Getter @Setter @AllArgsConstructor @NoArgsConstructor @Builder public class UserDTO { private Long id; @JsonProperty("userId") @NotBlank(message = "아이디는 필수 입력 값입니다.") privat..
[회원가입] ResDTO 이용한 아이디 중복 확인
·
Project 댕린이집
아이디 입력 필드 옆에 아이디 중복 확인 버튼을 구현했었는데회원가입 버튼을 누를 시 다시 한번 확인하고 resoponse 해주는 부분을 구현했습니다.  [ ResDTO ]먼저 모든 API의 Response에 대해 공통으로 감싸줄 수 있는 ResDTO를 새롭게 만들어 주었습니다.  🧐 그렇다면 ResDTO를 만드는 이유는 무엇일까요?Response에서 요청된 응답 값만 전달해주는게 아니라 결과에 대한 코드, 내용, 에러메세지 등을 같은 포맷으로 전달해주어 프론트에서 더 효율적으로 사용하게 하기 위한 목적입니다! 또한, 객체 지향적인 설계를 촉진합니다. ResDTO 객체를 사용함으로써 응답 데이터를 하나의 객체로 추상화하고, 응답 생성 및 전달에 관련된 로직을 한 곳에서 관리할 수 있게 됩니다. 서버 사이..
문자열 나누기 / 숫자 짝꿍 / 체육복 / 대충 만든 자판 / 완주하지 못한 선수
·
프로그래머스/1단계
1️⃣ 문자열 나누기 문제 설명 문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다. 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다. s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다. 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을 분리하고, 종료합니다. 문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문자열들로 분해하고, 분해한 문자열의 개수를 return 하는 함수 solut..
[회원가입] 비밀번호 암호화
·
Project 댕린이집
[  WebSecurityConfig.java  ] PasswordEncoder를 빈으로 등록합니다. @Bean public PasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder(); }  PasswordEncoder는 주로 사용자의 비밀번호를 해싱(hashing)하여 저장하고, 로그인 시에 비밀번호를 검증하는 데 사용됩니다.   여기서 BCryptPasswordEncoder는 PasswordEncoder의 구현체 중 하나로, BCrypt 해싱 알고리즘을 사용하여 비밀번호를 안전하게 해싱합니다.  [ UserService.java ]package com.example.demo.service;import com.example.demo...
xoo | 수진
xoo의 성장기록