2016-10-07 20 views
16

Tôi đã nâng cấp phụ thuộc Spring Boot trong dự án của mình và tôi nhận ra rằng một số lớp, chẳng hạn như FilterRegistrationBean, không được chấp nhận.FilterRegistrationBean không được chấp nhận trong Spring Boot 1.4. *

Bạn có biết cách triển khai Bộ lọc trong Spring Boot 1.4.1 không?

Bean của Lọc

@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; 
} 

đang Lọc tôi:

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() { 
} 
} 

Trả lời

4

Kiểm tra the javadoc. Nó vừa được chuyển đến gói org.springframework.boot.web.servlet

+0

Yup https://github.com/spring-projects/spring-boot/issues/6518 –

Các vấn đề liên quan