본문 바로가기
728x90
반응형

Spring181

[Spring] 쿠키와 보안 문제 & 세션 동작 방식 및 세션 직접 구현하기 https://drcode-devblog.tistory.com/559 [Spring] 로그인 구현, 쿠키 적용 지난 포스팅에 이어서 로그인을 구현해보면 아래와 같다. LoginService.java package hello.login.domain.login; import hello.login.domain.member.Member; import hello.login.domain.member.MemberRepository; import lombok.RequiredArgsConstruct drcode-devblog.tistory.com 위 포스팅처럼 쿠키를 사용하면 로그인Id를 전달해서 로그인을 유지할 수 있었다. 그런데, 여기에는 심각한 보안 문제가 있다. 보안 문제 (1) 쿠키 값은 임의로 변경할 수 있다.. 2023. 11. 15.
[Spring] 로그인 구현, 쿠키 적용 지난 포스팅에 이어서 로그인을 구현해보면 아래와 같다. LoginService.java package hello.login.domain.login; import hello.login.domain.member.Member; import hello.login.domain.member.MemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.Optional; @Service @RequiredArgsConstructor public class LoginService { private final MemberRepository memberRepository;.. 2023. 11. 13.
[Spring] 회원가입 구현 회원가입을 하려면 Member class가 있어야 한다. Member.java package hello.login.domain.member; import lombok.Data; import javax.validation.constraints.NotEmpty; @Data public class Member { private Long id; @NotEmpty private String loginId; // 로그인 ID @NotEmpty private String name; // 사용자 이름 @NotEmpty private String password; } MemberRepository.java package hello.login.domain.member; import lombok.extern.slf4j.Sl.. 2023. 11. 10.
[Spring] 로그인 처리 - 쿠키, 세션 프로젝트 설정, 홈 화면 상품 시스템에 로그인을 처리하는 시스템을 만들어보자. 먼저 로그인 하기 전, 홈 화면에서는 - 회원가입 - 로그인 버튼이 있어야 할 것이다. 로그인 후 홈 화면에서는 - 본인 이름(OO님 환영합니다.) - 상품 관리 - 로그 아웃 이 있고, 보안 요구사항은 - 로그인 사용자만 상품에 접근하고, 관리할 수 있고 - 로그인 하지 않은 사용자가 상품 관리에 접근하면 로그인 화면으로 이동한다 회원 가입, 상품 관리 프로그램이 있다. 홈 화면 홈화면 로그인 후 회원 가입 로그인 상품 관리 프로젝트 생성은 아래의 zip 파일을 해제하여 프로젝트로 열면 된다. 프로젝트로 열고 실행하면 다음과 같다. 실행 http://localhost:8080 실행하면 HomeController 에서 /items 로 redirect .. 2023. 11. 10.
[Spring] Bean Validation - HTTP 메시지 컨버터 @Valid, @Validated 는 HttpMessageConverter(@RequestBody)에도 적용할 수 있다. ※ 참고 @ModelAttribute는 HTTP 요청 파라미터(URL 쿼리 스트링, POST Form)을 다룰 때 사용한다. @RequestBody는 HTTP Body의 데이터를 객체로 변환할 때 사용한다. 주로 API JSON 요청을 다룰 때 사용한다. ValidationItemApiController.java package hello.itemservice.web.validation; import hello.itemservice.web.validation.form.ItemSaveForm; import lombok.extern.slf4j.Slf4j; import org.springfr.. 2023. 11. 10.
[Spring] Bean Validation Form 전송 객체 분리 Form 전송 객체를 분리하기 위해, 컨트롤러와 템플릿 버전을 V4로 진행한다. https://drcode-devblog.tistory.com/551 [Spring] Bean Validation 스프링 적용 기존에 했던 것을 살리고, 새로운 버전을 적용하기 위하여 컨트롤러를 복사하여 새로운 버전을 만든다. URL 경로 변경: validation/v2/ → validation/v3/ validation/v2 디렉토리의 모든 템플릿 파일을 validati drcode-devblog.tistory.com 위의 포스팅을 참고하여 변경하면 편리하다. Form 전송 객체 분리 실무에서는 groups 를 잘 사용하지 않는데, 그 이유가 다른 곳에 있다. 바로 등록시 폼에서 전달하는 데이터가 Item 도메인 객체와 딱.. 2023. 10. 11.
728x90
반응형