Кажется, есть много примеров того, как регистрировать тех, кто использует фильтры, так что вы можете вставить репозиторий в один и сохранить его вместо регистрации.
Редактировать - извините, не удалось включить chain.doFilter(request, response);
//Filter
@Component
public class RequestResponseLoggingFilter implements Filter {
private final Logger LOGGER = LoggerFactory.getLogger(Application.class);
//Inject repo here
@Override
public void doFilter(
ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
//Read data from req and res, save to repo
LOGGER.info("Logged : " + req.getRequestURI());
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {}
@Override
public void destroy() {}
}
@Bean
public FilterRegistrationBean<RequestResponseLoggingFilter> loggingFilter(){
FilterRegistrationBean<RequestResponseLoggingFilter> registrationBean
= new FilterRegistrationBean<>();
registrationBean.setFilter(new RequestResponseLoggingFilter());
registrationBean.addUrlPatterns("/**");
return registrationBean;
}
Невозможно автоматически подключить службу внутри моего фильтра аутентификации в Spring - это то, что вам, вероятно, понадобится.