[스프링 MVC 2편] 7. 로그인 처리 2 - 필터, 인터셉터
·
인프런 Spring 강의 정리/스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
📌 서블릿 필터 로그인을 한 사용자만 상품 관리 페이지에 들어갈 수 있어야 하지만, 상품 버튼이 안보일 뿐 url로 호출하면 들어갈 수 있는 것이 문제가 된다. 상품 관리 컨트롤러에서 로그인 여부를 하나하나 체크하면 되겠지만, 등록, 수정, 삭제, 조회 등 상품 관리의 모든 컨트롤러 로직의 로그인 여부를 다 확인해야 하는 것이 힘듦 (로직이 변경되면 다 수정해야 함) 스프링의 AOP로 해결이 가능하지만, 서블릿 필터나 스프링 인터셉터를 사용하는 것 추천 HttpServletRequest 제공 ⚡ 정의 ✔ 필터 흐름 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 필터는 특정 URL 패턴에 적용 가능 /*라고 하면 모든 요청에 필터가 적용됨 여기서 서블릿 : 스프링의 디스패치 서블릿 ✔ 필..
[스프링 MVC 2편] 6. 로그인 처리1 - 쿠키, 세션
·
인프런 Spring 강의 정리/스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
📌 로그인 요구사항 ✔ 홈 화면 - 로그인 전 회원 가입 로그인 ✔ 홈 화면 - 로그인 후 본인 이름(누구님 환영합니다.) 상품 관리 로그 아웃 ✔ 회원 가입 ✔ 로그인 ✔ 상품 관리 ✔ 보안 요구사항 로그인 사용자만 상품에 접근하고, 관리할 수 있음 로그인 하지 않은 사용자가 상품 관리에 접근하면 로그인 화면으로 이동 ⚡ 패키지 구조 설계 hello.login domain item member login web item member login ❗도메인이 가장 중요 도메인 : 화면, UI, 기술 인프라 등등의 영역은 제외한 시스템이 구현해야 하는 핵심 비즈니스 업무 영역을 말함 향후 web을 다른 기술로 바꾸어도 도메인은 그대로 유지할 수 있어야 함 web은 domain을 알고있지만 domain은 web..
[스프링 MVC 2편] 5. 검증2 - Bean Validation
·
인프런 Spring 강의 정리/스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
📌 Bean Validation ⚡ 정의 검증 기능을 매번 코드로 작성하면 번거로움 Bean Validation : 검증 로직을 모든 프로젝트에 적용할 수 있게 공통화하고, 표준화한 것 특정한 구현체가 아니라 Bean Validation 2.0(JSR-380)이라는 기술 표준 검증 애노테이션과 여러 인터페이스의 모음 하이버네이트 Validator(ORM과는 관련X) 하이버네이트 Validator 관련 링크 공식 사이트 공식 메뉴얼 검증 애노테이션 모음 ⚡ 사용 준비 ✔ Bean Validation 의존관계 추가 build.gradle implementation 'org.springframework.boot:spring-boot-starter-validation ✔ Jakarta Bean Validatio..
[스프링 MVC 2편] 4. 검증1 - Validation
·
인프런 Spring 강의 정리/스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
📌 검증 요구사항 ⚡ 요구사항 : 검증 로직 추가 타입 검증 가격, 수량에 문자가 들어가면 검증 오류 처리 필드 검증 상품명: 필수, 공백X 가격: 1000원 이상, 1백만원 이하 수량: 최대 9999 특정 필드의 범위를 넘어서는 검증 가격 * 수량의 합은 10,000원 이상 ⚡ 컨트롤러의 중요한 역할중 하나는 HTTP 요청이 정상인지 검증하는 것 cf) 클라이언트 검증, 서버 검증 클라이언트 검증은 조작할 수 있으므로 보안에 취약 서버만으로 검증하면, 즉각적인 고객 사용성이 부족 둘을 적절히 섞어서 사용하되, 최종적으로 서버 검증은 필수 API 방식을 사용하면 API 스펙을 잘 정의해서 검증 오류를 API 응답 결과에 잘 남겨주어야 함 📌 검증 직접 처리 ⚡ 소개 ✔ 상품 저장 성공 사용자가 상품 등록..