Spring39 [Spring] SpringSecurity - Filter Chain SpringSecurity Filter Chain스프링 시큐리티는 애플리케이션의 인증, 인가 등의 보안 기능을 제공하는 스프링 하위 프로젝트 중 하나로 보안과 관련된 많은 기능을 제공하고 있습니다.Spring Security도 인증 및 인가를 처리하기 위해 Filter를 사용하는데 FilterChainProxy를 통해서 상세 로직을 구현하고 있습니다. SpringSecurity 동작 구조스프링 시큐리티는 서블릿 필터(Servlet Filter)를 기반으로 동작하며, DispatcherServlet 앞에 필터가 배치되어 있습니다. 위 그림의 필터 체인(FilterChain)은 서블릿 컨테이너에서 관리하는 ApplicationFilterChain을 의미합니다. 스프링 시큐리티는 사용하고자 하는 필터체인을 .. 2024. 11. 10. [Spring] Servlet Container와 Servlet의 관계 Servlet 이란?HTML 만으로는 시간 변화에 따라 데이터가 변경되는 동적인 페이지를 만드는데 한계가 존재합니다(HTML은 정적 페이지만 생성 가능)이러한 HTML의 한계를 극복하고 사용자의 상태, 게시판의 목록과 같이 동적인 웹 페이지를 만드는데 사용하는 기술 중 Java에서 동적인 웹 페이지를 개발하기 위한 기술 중 하나가 Servlet 입니다. Tomcat 이란?통칭하여 Web Application Server(WAS) 라고 하며, Web Server + 서블릿 컨테이너 라고 볼 수 있습니다.서블릿 컨테이너는 클라이언트에서 요청(/api/user/login)이 들어오면 Path에 해당하는 서블릿을 찾아서 요청을 보내고 서블릿에서 작업이 끝나면 응답을 다시 클라이언트에게 보내는 역할을 합니다.서.. 2024. 11. 10. [Spring] LazyInitializationException 해결 방법 이슈Springboot 통합 테스트를 진행할 때 다음과 같은 에러가 발생했습니다.failed to lazily initialize a collection of role: com.sparta.myselectshop.entity.Product.productFolderList: could not initialize proxy - no Session org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.sparta.myselectshop.entity.Product.productFolderList: could not initialize proxy - no Session at org.hiberna.. 2024. 11. 8. [Spring] BeanDefinitionStoreException: Failed to parse configuration class 에러 해결 Spring Bean 충돌배달 서비스 개발 시 사업자와 이용자가 이용하는 기능이 다르기 때문에 다음과 같이 패키지를 나누어서 개발을 진행하였습니다.├─common│ ├─config│ ├─entity│ ├─enums│ ├─exception│ ├─security│ └─util└─domain ├─customer -> 장재혁, 박가온누리 │ ├─controller │ ├─dto │ ├─repository │ └─service ├─member -> 김동주 │ ├─controller │ ├─dto │ ├─repository │ └─service └─seller -> 이은영, 백현욱 ├─controller .. 2024. 11. 8. [Spring] 일정관리 앱 코드 Fix 아래 코드는 피드백을 토대로 수정한 내용입니다. 자세한 소스코드는 다음 링크에서 확인 가능합니다. 다양한 예외처리 적용하기(@Valid)package com.sparta.nuricalendaradvanced.domain.schedule.dto;import jakarta.validation.constraints.Pattern;import jakarta.validation.constraints.Size;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class ScheduleRequestDto { @Pattern(regexp = "^(\\d{4})-(\\d{2})-(\\d{2})$") @Size(max = 10) private .. 2024. 10. 30. [Spring] a foreign key constraint fails 에러 발생 MySQL 데이터 삭제 JPA를 활용하여 MySQL에 존재하는 데이터 삭제 시 아래와 같은 에러가 발생했습니다.ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails 연관관계가 없는 테이블의 경우에는 데이터 삭제가 가능하지만, 다른 테이블과 연관 관계가 있는 테이블은 자식 테이블(외래 키를 가진 테이블)에 있는 데이터를 삭제해야만 부모 테이블(외래키가 참조하는 테이블)에 있는 데이터도 삭제가 가능합니다.다음의 코드는 삭제 순서에 맞게 작성한 소스코드 입니다.@Servicepublic class ScheduleService { private final ScheduleRepository schedul.. 2024. 10. 17. 이전 1 2 3 4 5 6 7 다음