starter proyecto pom migrator initial generate filterregistrationbean example java spring spring-mvc filter

java - proyecto - spring boot templates



FilterRegistrationBean está en desuso en Spring Boot 1.4.* (2)

Actualicé la dependencia de Spring Boot en mi proyecto y me di cuenta de que algunas clases, como FilterRegistrationBean, están obsoletas.

¿Sabes cómo se puede implementar un filtro en Spring Boot 1.4.1?

Frijol de filtro

@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("/users/*"); registrationBean.setUrlPatterns(match); return registrationBean; }

Mi código de filtro:

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