🚗 Backend Toy Project/Photogram

    [Photogram] 로그인

    이번 시간에는 로그인 기능을 구현해보려고 합니다. 우선 회원가입의 경우에는 우리가 직접 컨트롤러를 작성하여 구현해주었는데, 로그인의 경우 Spring Security가 자동으로 수행하도록 할 것입니다. 📝 SecurityConfig 먼저 Security 설정 클래스에 .loginProcessingUrl() 메소드를 추가해주었습니다. @Override protected void configure(HttpSecurity http) throws Exception { http .csrf().disable() //csrf 토큰 비활성화 .authorizeRequests() .antMatchers("/", "/user/**", "image/**", "/subscribe/**", "/comment/**").authe..

    [Photogram] 회원가입 - 공통 응답 DTO, Script 만들기

    이전시간까지 우리는 Validation 체크를 통해 유효성 검사에 실패할 경우 사용자에게 아래와 같은 페이지가 보여지도록 구현하였습니다. 허나 유효성 검사에 실패하였다고 해서 페이지가 강제 이동되며 위와 같은 메시지가 보여진다면 그렇게 좋은 사용자 경험은 아닐 것입니다. 따라서 오늘은 이 부분을 조금 수정해보려고 합니다. 📝 1. 공통 응답 DTO 첫 번째 방법으로 공통 응답 DTO를 생성하여 해당 DTO를 통해 사용자에게 오류 메시지를 전달하는 방식입니다. package com.cos.photogram.web.dto.auth; ... @Data @NoArgsConstructor @AllArgsConstructor public class CMRespDto { private int code;//1: 성공,..

    [Photogram] 회원가입 - Validation

    이전 시간에 우리가 구현한 회원가입 로직은 사용자가 알맞지 않은 데이터를 입력했을 때 오류 페이지를 발생시켰습니다. 이를 유효성 검사를 통해 오류를 미리 탐지하여 사용자에게 알맞은 오류 메시지를 출력해줄 수 있도록 수정하려고 합니다. 📝 SignupDto 이를 위해 우리는 DTO에 다음과 같은 어노테이션을 붙여줄 수 있습니다. package com.cos.photogram.web.dto.auth; ... @Data public class SignupDto { @Size(min = 2, max = 20)//최소 길이 2, 최대 길이 20 @NotBlank//반드시 입력해야 함 private String username; @NotBlank private String password; @NotBlank pri..

    [Photogram] 회원가입 - 데이터베이스 저장

    회원가입을 하기 위해서 우리는 아래와 같은 정보를 사용자에게 입력으로 받아오도록 하고 있습니다. 가입 📝 SignupDto 위 4개의 데이터를 사용자에게 전달 받기 위해 아래와 같이 DTO를 생성해주었습니다. package com.cos.photogram.web.dto.auth; ... @Data public class SignupDto { private String username; private String password; private String email; private String name; public User toEntity() { return User.builder() .username(username) .password(password) .email(email) .name(name) ..