Spring Boot
-
회원가입 전처리, 후처리Spring Boot/회원 관리 2 - 회원 가입 2021. 12. 7. 19:49
회원가입 시 전처리 , 후처리에 대해 설명 회원가입(핵심기능) : username, password, email, name 등을 입력해서 회원가입 진행 전처리, 후처리(공통기능) : 중복된 username 값인지, username 길이 제한 공통기능 없어도 핵심기능 처리할 수 있지만, 공통기능이 있다면 더 좋은 코드를 만들 수 있다. 공통기능은 AOP(관점지향 프로그래밍)으로 나중에 처리할 것이다. - 이 부분은 다른 페이지에서 설명 (특히, 핵심기능인 회원가입은 AuthService.java 에서 처리하는데, 공통기능을 AuthService.java가 아닌 다른 곳에서 처리하면 훨씬 깔끔한 코드 완성) 위 그림에 대해 설명하면, 사용자가 username 값을 (예를들어 abc ) 입력하면 2가지 공통기..
-
의존성 주입Spring Boot 2021. 12. 7. 16:09
프로젝트에서 회원가입 코드를 만들 때, AuthController.java 에서 AuthService.java의 회원가입 메서드를 사용하려고 한다면 AuthController.java에 AuthService 오브젝트를 의존성 주입해야 한다. 즉, 아래에서 볼 수 있듯이 AuthController.java 파일에서 signup 메서드를 보면 authService.회원가입(user); 이렇게 AuthService의 회원가입 메서드를 활용하려고 한다면, 의존성 주입이 필요하다. 파일 @RequiredArgsConstructor @Controller public class AuthController { private final AuthService authService; @PostMapping("/auth/si..
-
회원가입Spring Boot/회원 관리 2 - 회원 가입 2021. 12. 6. 22:03
파일 가입 이러면 웹 사이트상에 이렇게 회원가입 화면이 나온다. 그래서 사용자가 유저네임, 패스워드, 이메일, 이름을 입력하고 가입 버튼을 누르면 파일 import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import lombok.Data; @Data public class SignupDto { @Size(min = 2, max = 20) @NotBlank private String username; @NotBlank private String password; @NotBlank private String email; @NotBlank private String name; SignupDto.java 파..
-
CSRF 토큰Spring Boot/회원 관리 1 - 스프링 시큐리티 세팅 2021. 12. 6. 19:36
csrf 토큰에 대해 설명하겠다. 1. 클라이언트는, 서버쪽에 회원가입 페이지 요청을 한다. (주소창에 /auth/signup get 요청) 2. 서버는 이에 대한 응답으로 signup.jsp 파일, 즉 회원가입 화면을 클라이언트에게 보여준다. 그런데, 이 때 스프링 시큐리티가 아이디, 비밀번호 등 각 input 태그에 예를 들어 A라는 임의의 값(csrf 토큰)을 붙여 놓는다. (jsp 파일의 input 태그를 의미) 3. 사용자가 회원가입 페이지에서 아이디, 비밀번호를 입력한 후 회원가입 요청을 하면 (서버쪽에 post 요청을 보냄) (회원가입은 post 요청) 4. 서버는 자신이 보낸 csrf 토큰이 있는지 확인을 한다. 그래서 있다면 정상적으로 회원가입이 가능하게 해준다. (정상 요청) 5. 그런..
-
스프링 시큐리티 세팅Spring Boot/회원 관리 1 - 스프링 시큐리티 세팅 2021. 12. 3. 19:14
스프링 시큐리티를 프로젝트에 작동시키면 (pom.xml 에 시큐리티 의존성 설정되어 있으면 작동) 내가 만드는 프로젝트에는 아래와 같은 의존성 설정했음 파일 org.springframework.boot spring-boot-starter-security org.springframework.security spring-security-test test 우리가 만드는 웹 사이트 어느 페이지로 이동하던지. 로그인 화면이 뜨게 된다. 이렇게 로그인을 해야만 요청하는 페이지로 이동이 가능하다. 아마, username, password에 입력해야 하는 값이 이클립스(sts) 콘솔창에 나오는 것으로 알고 있다. 그 값을 찾아서 입력하면 된다. 그런데, 우리가 직접 로그인 화면을 만들어 로그인 처리를 진행하려면 Web..
-
회원가입 유효성 검사Spring Boot 2021. 12. 3. 16:48
회원가입 시 username password email name 값을 받도록 만들었다. 즉, 회원가입 페이지는 아래처럼 되어 있다. 이 모든 값들을 사용자가 입력해야 만 회원가입이 가능하게 하려고 한다. 그러면 2가지 처리를 해야 한다. 1) 프론트 (jsp) - required 사용 signup.jsp 파일 가입 form 태그를 활용하는데, username, password, email, name 마지막에 보면 required = "required" 를 해 놓았다. 만약 네가지 값 중 하나라도 입력하지 않고 가입 버튼을 누르면 이런식으로 이 입력란을 작성하세요. 라고 화면에 나온다. 그래서 이 네가지 값을 입력해야만 회원가입이 되게 된다. 그런데 문제가 있다. 만약 프론트에서만 이렇게 처리한다면, po..
-
css - hover : 마우스를 이미지 위에 올릴 때 효과Spring Boot 2021. 11. 21. 22:16
1) 평소 : 이미지 그대로 보임 2) 마우스를 이미지 위에 가져가 대면 : 이런식으로 화면 색이 변하고, 하트와 좋아요 수(2)를 표시 ${image.likeCount} 화면에 이미지를 나타내는 코드는 부분이다. 일단 여기서, 이 부분을 설명하겠다. fas fa-heart 부분은 Font Awesome ( font와 icon toolkit) 라는 사이트에서 가져온 아이콘 , 즉 하트 아이콘을 의미한다. 웹에 표시할 다양한 아이콘 사용가능하다. (구글 검색해서 Font Awesome 홈페이지에서 사용가능) 특히 이 아이콘을 사용하려면 jsp 파일에 https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/css/all.min.css" /> 이런식으로 링크 추..
-
좋아요 수 표시하기Spring Boot 2021. 11. 18. 20:02
이미지 위에 마우스를 가져다 대면, 그 이미지의 좋아요 수를 표시하는 코드를 완성하려고 한다. 이런식으로 좋아요 수가 2개이면 2가 표시되도록 하는 것이다. 이 페이지는 profile.jsp 에서 구현하고 있다. 그리고, 좋아요 수, 즉 likeCount 값은 Image.java에 있기 때문에 이 값을 profile.jsp로 가져와서 사용하면 저렇게 표시를 할 수 있다. 그런데 문제는, 파일 @Transient private boolean likeState; @Transient private int likeCount; 여기 likeCount 가 @Transient 로, db에 값이 저장되지 않는 다는 것이다. 데이터 베이스에서 를 살펴보면 이런식으로, likeCount값은 db에 저장되지 않는다. 그래서..