[Spring] 인스타그램 클론코딩 - 구독 정보 쿼리짜기
·
Project/인스타그램 클론코딩(PhotoGram)
구독 정보를 눌렀을 때, 다음과 같이 해당 페이지의 유저가 누굴 구독했는지에 대한 정보가 나온다. (현재, 인스타그램은 팔로워와 팔로잉을 분리해놓았다.) 여기서 받아올 데이터는 유저의 프로필이미지, 유저의 이름, 구독여부 정보이다. 여기서 구독여부는 로그인한 사람이 해당 유저를 구독했는지에 대한 정보이다. 즉, 위에 나오는 유저리스트는 페이지 주인 유저가 구독한 유저(fromUserId)가 필요하지만, 모달 내부에서 구독, 구독취소 버튼의 활성화는 로그인한 유저가 구독한 유저의 정보(toUserId)이다. 그리고 만약 ssar이 로그인 하여 cos의 프로필페이지로 이동했을 때, ssar이 cos를 구독하고 있더라도 구독하기, 구독취소하기 버튼은 활성화 되어 있을 필요가 없다. 이미 구독정보 모달에 들어가..
[Spring] 인스타그램 클론코딩 005. 회원가입 - 비밀번호 암호화(Bcrypt)와 권한 부여
·
Project/인스타그램 클론코딩(PhotoGram)
회원가입 DB 저장시 비밀번호를 암호화하고 역할을 부여한다. 1. 비밀번호 암호화와 디폴트 유저 권한 부여 DB에 클라이언트의 데이터가 INSERT될 때, 데이터가 그대로 들어갔다. 나중에 어떤 서비스를 하게 되든 개인정보 보호는 매우 중요한 부분이다. (캡쳐를 깜빡해서 인강 사진으로 대체...) 먼저 SecurityConfig.java안에 @Bean 기능을 삽입한다. @Bean 어노테이션을 걸어주게 되면, SecurityConfig 가 IoC컨테이너에 등록 될 때, @Bean 어노테이션을 인식해서 BCryptPasswordEncoder 를 리턴해서 IoC컨테이너에 등록하게 된다. BCryptPasswordEncoder는 함수명처럼 비밀번호를 암호화시켜주는 메서드이다. 암호화 된 비밀번호가 IoC컨테이너..
[Spring] 인스타그램 클론코딩 004. 회원가입 - DB에 회원정보 저장
·
Project/인스타그램 클론코딩(PhotoGram)
회원가입으로 받은 데이터(SignupDto)를 User Entity로 변환하여 DB에 저장한다 1. Builder 패턴 사용 Dto 데이터를 오브젝트에 담기 쉬운 방법으로 Builder 패턴을 사용하는 방법이다. lombok이 지원해주는 어노테이션 @Builder를 User.java에 추가한다. SignuDto.java에 builder패턴 메서드를 생성한다. package com.GStagram.domain.auth; import com.GStagram.model.User; import lombok.Data; @Data // Getter, Setter public class SignupDto { private String username; private String password; private Str..
[Spring] 인스타그램 클론코딩 003. 회원가입 - SignupDto 생성
·
Project/인스타그램 클론코딩(PhotoGram)
회원가입을 위한 Dto와 DB연결을 위한 Model 생성 1. SignupDto 생성 시큐리티 세팅을 끝나고 회원가입 기능 구현을 위해 첫 번째로 할 작업은 User Model을 만드는 것이다. 클라이언트가 회원가입에서 POST 요청하여 DB에 INSERT되게 될 곳이 User이기 때문이다. 따라서, 회원가입 페이지에서 클라이언트가 input 태그에 넣게 될 데이터의 형태에 맞는 DTO(Data Transfer Object)를 만들어 주어야 한다. SignupDto.java package com.GStagram.domain.auth; import lombok.Data; @Data // Getter, Setter public class SignupDto { private String username; pr..
[Spring] 인스타그램 클론코딩 002. 회원가입 - CSRF Token 해제
·
Project/인스타그램 클론코딩(PhotoGram)
스프링 부트 환경에서 Spring Security의 CSRF Token 해제 1. 회원가입 페이지 구현 로그인 페이지에서 가입하기 버튼 클릭 시 회원가입 페이지로 이동한다. AuthController.java package com.GStagram.domain.auth; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class AuthController { @GetMapping("/auth/login") public String loginPage() { return "auth/login"; } @GetMapping("/auth..
[Spring] 인스타그램 클론코딩 001. 회원가입 - SecurityConfig 생성
·
Project/인스타그램 클론코딩(PhotoGram)
스프링 부트 환경에서 Spring Security를 이용한 권한, redirect, 로그인 페이지 구현 1. 스프링 시큐리티 설정 추가하기 Maven org.springframework.boot spring-boot-starter-security Gradle compile("org.springframework.boot:spring-boot-starter-security") 2. 스프링 시큐리티 기본 적용 위와 같이 디펜던시 추가 후 아무 페이지도 만들지 않고 서버를 실행하여 http://localhost:8080 으로 진입하면 페이지를 찾을 수 없다면서 404 상태코드가 출력되어야 한다. 하지만, 실제로 접속해보면 로그인 페이지가 출력된다. localhost를 요청했지만 302번의 상태코드가 나오면서 r..
마볼링
'Project/인스타그램 클론코딩(PhotoGram)' 카테고리의 글 목록