Я использую Spring Security и у меня есть собственный фильтр авторизации без явного сопоставления URL. Я добавил свой фильтр авторизации после UsernamePasswordAuthenticationFilter.class.
Проблема с этим подходом заключается в том, что даже для шаблонов URL, которые либо разрешены, либо разрешены с проверкой подлинности, проходят мой Фильтр авторизации. Я не хочу явно настраивать свое сопоставление фильтра на Фильтре авторизации, так как считаю, что это избыточно (уже присутствует в WebSecurityConfigurerAdapter). Можно ли в любом случае получить доступ к метаданным Spring Security или каким-либо другим способом пропустить фильтр авторизации для URL-адресов, помеченных как allowAll () или authenticated ()?
public class AuthorizationFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain)
throws IOException, ServletException {
//Calls a webservice to fetch the authorities based on the URL pattern.
//Adds the authentication principal with Authorities to SecurityContextHolder.
}
public void init(FilterConfig config) throws ServletException {
}
}