[학습 포인트]💡 MockMvc 컨트롤러 단위 테스트 시 인증정보 부재
·
프로젝트 트러블 슈팅 및 몰랐던점 정리/CommunityAPI
SpringSecurity를 사용하는 프로젝트에서 만약 Contrller의 단위 테스트 작업을 진행할 경우, 사용자의 인증정보가 필요하게 될 것이다. 해당 인증정보를 어떻게 Mocking하는지에 대해서 알아보자문제원인MockMvc로 Controller Layer 단위 테스트시에 SpringSecurity가 활성화된 상태에서 MockMvc.perform() 호출 시 인증 정보가 주입되지 않으면 기본적으로 403 Forbidden 오류가 발생한다.TestingAuthenticationToken 이나 커스텀 토큰으로 인증 객체 생성시에 필요한 권한 정보가 설정되지 않으면 Security 인가 과정이 실패한다.해결 방안@WithMockUser 또는 SecurityMockMvcRequestPostProcessor..
[몰랐던 점] SpringSecurity 인증, 인가, CSRF,세션 관리 - 기초 흐름 정리
·
프로젝트 이슈 및 몰랐던점 정리
해당 포스팅은 여러차례 사이드 프로젝트를 진행함에 있어서(View템플릿과 연동하여 데이터를 표시할 뷰페이지가 있는경우) 가장 많이 헤메이며 구글링으로 그냥 코드를 붙여넣기식으로 기술을 사용했던 SpringSecurity6.x 버전의 기초적인 사용방법을 담고있습니다.인가특정한 경로에 요청이 올 경우 Controller 클래스에 도달하기 전 SpringSecurity의 filter에서 해당 요청을 가로채서 해당 경로의 접근권한은 누구에게 열려있는지, 로그인이 완료된 사용자인지, 해당되는 권한을 가지고 있는지에 대한 작업을 수행한다. 해당 인가작업을 진행하는 클래스는 SecurityConfiguration이 담당한다.@Configuration @EnableWebSecurity public class Sec..
cheolhyeon
'Springsecurity' 태그의 글 목록