더북(TheBook)

springSecurity() 메서드는 Mock MVC용으로 스프링 시큐리티를 활성화하는 Mock MVC 구성자를 반환한다. 코드 4-3과 같이 간단히 적용만 하면 MockMvc로 수행하는 모든 요청에 스프링 시큐리티가 적용된다. 세부적인 보안 구성은 스프링 시큐리티를 구성한 방법이나 스프링 부트가 스프링 시큐리티를 자동으로 구성한 방법에 따라 다르다. 독서 목록 애플리케이션은 3장에서 작성한 SecurityConfig.java 보안 구성과 동일하다.

Note springSecurity() 메서드

springSecurity() 메서드는 SecurityMockMvcConfigurers의 정적 메서드이며, 예제에서는 코드를 읽기 쉽게 하려고 정적으로 임포트했다.

 

스프링 시큐리티가 활성화되면 간단한 요청으로 메인 페이지의 HTTP 200 응답을 기대하기가 어렵다. 인증된 요청이 아니면 로그인 페이지로 리다이렉트하기를 기대해야 한다.



import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

public class MockMvcWebTests {
 

 
    @Test
    public void homePage_unauthenticatedUser() throws Exception {
        mockMvc.perform(get(”/”))
            .andExpect(status().is3xxRedirection())
            .andExpect(header().string(“Location”, http://localhost/login"));
    }
 
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.