Код: Выделить всё
@Component
public class AuthenticationEntryPointImpl implements AuthenticationEntryPoint {
@Override
public void commence(HttpServletRequest request, HttpServletResponse
response, AuthenticationException authException) throws IOException, ServletException {
String json = JSON.toJSONString(AjaxJson.getNotLogin(authException.getMessage()));
WebUtils.renderString(response, json);
}
}
......
.addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)
// .addFilterBefore(new ExceptionTranslationFilter(authenticationEntryPoint) ,
JwtAuthenticationTokenFilter.class)
......
Когда я не добавил ExceptionTranslationFilter перед jwtAuthenticationTokenFilter, интерфейс вернул { "timestamp": "2024-12-05 14:18", «статус»: 500, «ошибка»: «внутренняя ошибка сервера», «путь»: «/userinfo/updatepw»
После добавления моя пользовательская информация может быть возвращено нормально, вот почему? ExceptionTranslationFilter находится за цепочкой фильтров и должен иметь возможность перехватывать исключения, возникающие перед фильтром, но на самом деле это не так.
Подробнее здесь: https://stackoverflow.com/questions/792 ... ain-in-a-f