1. CSRF 토큰 사용할 때 1) 스프링 시큐리티 설정 Java 코드 @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) @RequiredArgsConstructor public class SecurityConfig { private final AuthenticationSuccessHandler authenticationSuccessHandler; private final AuthenticationFailureHandler authenticationFailureHandler; @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws E..
1. 문제 상황 - 가짜 user1 객체로 로그인 설정을 했을 때 오류가 발생했다. @Test @DisplayName("user1로 로그인 후 프로필페이지에 접속하면 user1의 이메일이 보여야 한다.") void t3() throws Exception { // WHEN // GET / ResultActions resultActions = mvc .perform( get("/member/profile") .with(user("user1").password("1234").roles("user")) ) .andDo(print()); // THEN // 안녕 resultActions .andExpect(status().is2xxSuccessful()) .andExpect(handler().handlerType..
application.yml 파일에서 업로드한 파일을 저장할 디렉토리 위치를 아래와 같이 설정했다. custom: genFileDirPath: Desktop/temp/app10 1. mac에서 디렉토리를 생성하기 2. 생성한 디렉토리 경로를 복사해 genFileDirPath 에 붙여넣기 - 2가지 방식이 있다(root 는 /Users/로 설정해주면 된다!!) 1) 해당 디렉토리로 이동 > 하단 디렉토리 우클릭 > 경로 이름 복사 2) cmd + i (파일 정보) > 위치 우클릭 > 경로 이름으로 복사 3. application.yml 파일의 custom.genFileDirPath 경로 수정 custom: # 업로드 파일 저장 경로 genFileDirPath: /Users/hanseung-yeon/temp..
error log 내용대로 업로드할 수 있는 최대 용량을 넘긴 파일을 업로드 하려고 할 때 발생하는 에러다. 따로 설정하지 않았다면 default값이 1048576 bytes 로 약 1MB이다. application.yml 설정파일에 파일 업로드 용량 제한 설정하기 spring: servlet: multipart: max-file-size: 10MB max-request-size: 10MB
컨트롤러의 @RequestMapping 으로 설정된 경로 중 특정 맵핑 경로가 중복되어 발생한 오류 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateExcepti..
(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 2. 검증 헤더와 조건부 요청1 1. 캐시 시간 초과 캐시 만료 후 클라이언트가 서버에 다시 요청을 할 때, 2가지 상황이 존재한다. 1) 서버에서 기존 데이터를 변경한 경우 - 서버에서 변경된 데이터를 받음 2) 서버에서 기존 데이터를 변경하지 않은 경우 - 데이터를 전송하는 대신 저장해두었던 캐시를 재사용할 수 O - 단, 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인할 방법 필요 2-1. 검증 헤더 추가 - 첫번째 요청 1) Last-Modified(데이터가 마지막에 수정된 시간)을 설정해서 클라이언트에 데이터를 전송한다. 2) 클라이언트는 유효 시간과 데이터 최종 수정일을 함께 응답 결과를 캐시..
(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 1. 캐시 기본 동작 1. 캐시가 없을 때 1) 첫 번째 요청 브라우저에서 GET /star.jpg 첫번째 요청을 보내면, 서버는 HTTP 헤더(0.1M) + HTTP 바디=star.jpg 이미지(1.0M)를 담아 응답을 보낸다. 브라우저에 서버로부터 응답받은 이미지가 표시된다. 2) 두 번째 요청 브라우저에서 GET /star.jpg 두번째 요청을 보내면, 서버는 HTTP 헤더(0.1M) + HTTP 바디=star.jpg 이미지(1.0M)를 담아 응답을 보낸다. 브라우저에 서버로부터 응답받은 이미지가 표시된다. - 데이터가 변경되지 않아도 계속 네트워크를 통해 데이터를 다운로드 받아야 한다. - 인터넷 네트워크..
(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 7. 인증 인증 헤더 종류 설명 사용 헤더 사용 목적 Authorization 클라이언트 인증 정보 요청 인증 방식에 따라 값이 다양함 WWW-Authenticate 리소스 접근시 필요한 인증 방법 정의 응답 401(Unauthorized) 응답과 함께 사용 1. Authorization (요청) 클라이언트 인증 정보를 서버에 전달 - value 값은 인증 방식(OAuth)에 따라 다양함(필요하면 검색) 2. WWW-Authenticate (응답) 리소스 접근시 필요한 인증 방법 정의 - 401 Unauthorized 응답과 함께 사용 8. 쿠키 1) Set-Cookie: 서버->클라이언트 쿠키 전달(응답) 2)..