토리맘의 한글라이즈 프로젝트 logo 토리맘의 한글라이즈 프로젝트

스프링 부트 공식 레퍼런스를 한글로 번역한 문서입니다.

전체 목차는 여기에 있습니다.

목차


12.5. Jersey

12.5.1. Secure Jersey endpoints with Spring Security

Jersey 기반 웹 애플리케이션에서도, 스프링 MVC 기반 웹 애플리케이션을 보호할 때와 거의 동일한 방식으로 스프링 시큐리티를 사용할 수 있다. 하지만 Jersey에서 스프링 시큐리티의 메소드 레벨 시큐리티를 사용하려면 sendError(int)가 아닌 setStatus(int)를 사용하도록 설정해줘야 한다. 이렇게 해야 스프링 시큐리티가 클라이언트에게 인증authentication 또는 인가authorization 실패를 알리기도 전에 Jersey가 응답을 커밋해버리지 않는다.

다음 예제와 같이 애플리케이션에 정의한 ResourceConfig 빈에서 jersey.config.server.response.setStatusOverSendError 프로퍼티를 true로 설정해야 한다:

@Component
public class JerseySetStatusOverSendErrorConfig extends ResourceConfig {

    public JerseySetStatusOverSendErrorConfig() {
        register(Endpoint.class);
        setProperties(Collections.singletonMap("jersey.config.server.response.setStatusOverSendError", true));
    }

}

12.5.2. Use Jersey Alongside Another Web Framework

Jersey를 스프링 MVC같은 다른 웹 프레임워크와 함께 사용하려면, Jersey가 처리할 수 없는 요청은 다른 프레임워크에서 처리할 수 있도록 설정해줘야 한다. 먼저 애플리케이션 프로퍼티 spring.jersey.typefilter로 설정해서 Servlet이 아닌 Filter를 사용하도록 만들어라. 그 다음으로는 아래 예제처럼 ResourceConfig를 404로 끝난 요청을 포워딩하도록 설정해줘라.

@Component
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {
        register(Endpoint.class);
        property(ServletProperties.FILTER_FORWARD_ON_404, true);
    }

}

전체 목차는 여기에 있습니다.

<< >>

TOP