Здравствуйте, у меня есть фильтр для получения авторизации от JWT
public class JwtAuthorizationFilter extends AbstractAuthenticationProcessingFilter {
public JwtAuthorizationFilter() {
super("/**");
}
@Override
public void setAuthenticationSuccessHandler(AuthenticationSuccessHandler successHandler) {
super.setAuthenticationSuccessHandler(successHandler);
}
@Override
protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain, Authentication authResult) throws IOException, ServletException {
super.successfulAuthentication(request, response, chain, authResult);
chain.doFilter(request, response);
}
@Override
public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException, IOException, ServletException {
String token = request.getHeader("Authorization");
//code
return getAuthenticationManager().authenticate(getAuthentication(token));
}
private UsernamePasswordAuthenticationToken getAuthentication(String token) {
// code
}
Проблема в том, что когда я достигаю successAuthentication и выполняю chain.doFilter, я получаю исключение
"servlet.service () для servlet [dispatcherServlet] в контексте с путем [] вызвала исключение [Ошибка обработки запроса; вложенное исключение - java.lang.IllegalStateException: Невозможно вызвать sendError () после того, как ответ был зафиксирован] с первопричиной»
И я не могу получить свою конечную точку. Я также заметил, что authResult генерирует много (Objects?) С одинаковыми данными, даже если я вхожу только один раз
@ Edit Теперь я заметил, что после успешной авторизации Spring пытается достичь моего контроллера несколько раз. Сначала возвращаемое значение, а другие просто выкидывают исключения, и я не знаю, почему у меня этот цикл