2016-10-07 44 views
16

Spring Boot bağımlılığını projemde yükselttim ve FilterRegistrationBean gibi bazı sınıfların kullanımdan kaldırıldığını fark ettim.FilterRegistrationBean, Spring Boot 1.4 sürümünde kullanımdan kaldırılmıştır. *

Spring Boot 1.4.1'de bir Filtreyi nasıl uygulayabileceğinizi biliyor musunuz?

Bean Filtre

ait
@Bean 
public FilterRegistrationBean filterRegistrationBean() { 
    AuthenticationFilter f = new AuthenticationFilter(); 
    FilterRegistrationBean registrationBean = new FilterRegistrationBean(); 
    registrationBean.setFilter(f); 
    registrationBean.addInitParameter("defaultToken", defaultToken); 
    registrationBean.addInitParameter("secretKey", secretKey); 
    ArrayList<String> match = new ArrayList<>(); 
    match.add("https://stackoverflow.com/users/*"); 
    registrationBean.setUrlPatterns(match); 
    return registrationBean; 
} 

Filtrem kodu:

public class AuthenticationFilter implements Filter { 

private String defaultToken; 
private String secretKey; 

private UserSessionTokenRepository userSessionTokenRepository; 
private UserManager userManager; 

@Override 
public void init(FilterConfig filterConfig) throws ServletException { 
    defaultToken = filterConfig.getInitParameter("defaultToken"); 
    secretKey = filterConfig.getInitParameter("secretKey"); 
    userSessionTokenRepository = WebApplicationContextUtils.getRequiredWebApplicationContext(filterConfig.getServletContext()).getBean(UserSessionTokenRepository.class); 
    userManager = WebApplicationContextUtils.getRequiredWebApplicationContext(filterConfig.getServletContext()).getBean(UserManager.class); 
} 

@Override 
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { 
    HttpServletRequest request = (HttpServletRequest) req; 
    HttpServletResponse response = (HttpServletResponse) res; 
    chain.doFilter(request, response); 
} 

public void addHeaders(HttpServletResponse response) { 
    response.setHeader("Access-Control-Allow-Origin", "*"); 
    response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); 
    response.setHeader("Access-Control-Max-Age", "3600"); 
    response.setHeader("Access-Control-Allow-Headers", "Content-Type"); 
} 

public void destroy() { 
} 
} 

cevap

4

kontrol the javadoc. Yalnızca org.springframework.boot.web.servlet

+0

Yup https://github.com/spring-projects/spring-boot/issues/6518 paketine taşındı. –