전체 글136 #7 로그인 처리 - 필터, 인터셉터 로그인 처리 - 필터, 인터셉터 앞서 만들었던 상품 관리 서비스에서 상품 관리 페이지와 같은 경우 로그인 한 사용자만 이용할 수 있어야 한다. 지금까지 개발한 로그인 서비스에서는 로그인 하지않은 사용자에게는 상품 관리 버튼이 보이지 않기 때문에 문제가 없어 보인다. [홈 화면 - 로그인 상태] 문제는 로그인 하지 않은 사용자도 다음 URL을 직접 호출하면 상품 관리 화면에 들어갈 수 있다는 것이다. http://localhost:8080/items 상품 관리 컨트롤러에서 로그인 여부를 하나하나 작성하면 되지만, 등록, 수정, 삭제, 조회 등 상품관리의 모든 컨트롤러에 공통으로 로그인 여부를 확인하는것은 매우 번거롭다. 이러한 공통 관심사는 스프링의 AOP로도 해결할 수 있지만, 웹과 관련된 공통 관심사는.. 2021. 8. 1. #6 로그인 처리 - 쿠키, 세션 로그인 처리 - 쿠키, 세션 기존의 상품 관리 서비스에 로그인 기능을 추가한다. · 홈 화면 - 로그인 전 - 회원 가입 - 로그인 [홈 화면 - 로그인 전] · 홈 화면 - 로그인 후 - 본인 이름(~~님 환영합니다.) - 상품 관리 - 로그 아웃 [홈 화면 - 로그인 후] · 보안 요구사항 - 로그인 사용자만 상품에 접근하고, 관리할 수 있음 - 로그인 하지 않은 사용자가 상품관리에 접근하면 로그인 화면으로 이동 · 회원 가입 [회원 가입] · 로그인 [로그인] 1. 로그인 폼, 기능 추가 ■ 홈 홈 화면을 개발한다. [HomeController] @GetMapping("/") public String home() { return "home"; } [홈 뷰 템플릿 - home] 홈 화면 회원 가입 로.. 2021. 7. 30. #5 Bean Validation Bean Validation 객체나 특정 상황에 대해 검증 로직을 매번 구현하고 Validator를 만드는 것은 상당히 번거롭다. 특히 특정 필드에 대한 검증로직은 대부분 빈 값인지 아닌지, 특정 크기를 넘는지 아닌지와 같이 매우 일반적인 로직이다. 여기서 애노테이션을 활용한 검증 로직을 모든 프로젝트에 적용할 수 있게 공통화하고, 표준화한 것이 바로 Bean Validation이다. Bean Validation을 잘 활용하면, 애노테이션 하나로 검증 로직을 매우 편리하게 사용할 수 있다. Bean Validation은 특정한 구현체가 아니라 Bean Validation 2.0(JSR-380)이라는 표준 기술이다. 쉽게 이야기해서 검증 애노테이션과 여러 인터페이스의 모음이다. Bean Validation.. 2021. 7. 28. #4 검증 - Validation 검증 - Validation 웹 서비스는 폼 입력 시 오류가 발생하면, 고객이 입력한 데이터를 유지한 상태로 어떤 오류가 발생했는지 친절하게 알려주어야 한다. 컨트롤러의 중요한 역할중 하나는 HTTP 요청이 정상인지 검증하는 것이다. 검증 오류 발생시 기본적인 흐름은 다음과 같이 이루어진다. [기존 상품 등록 흐름] [상품 검증 예시] 상품 등록 폼에서 받은 데이터가 검증에 실패할 경우 검증 오류 결과를 모델에 포함해서 상품 등록 폼에 전달한다. 상품 등록폼은 오류 결과가 들어있는 모델을 이용해서 어떤 오류가 발생했는지를 나타낸다. 1. BindingResult 스프링은 검증 오류가 발생했을 때, 오류가 발생한 객체와 필드, 메시지 등을 담을 수 있는 BindingResult라는 객체를 제공한다. Bin.. 2021. 7. 28. 이전 1 ··· 23 24 25 26 27 28 29 ··· 34 다음