У меня есть приложение, которое использует Spring And React / Redux. Аутентификация выполняется WebSecurityConfig
, что расширяет WebSecurityConfigurerAdapter
. Способ настройки:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf()
.formLogin()
.loginPage("/login")
.successHandler(new CustomSuccessAuthenticationHandler())
CustomSuccessAuthenticationHandler выглядит следующим образом:
CustomSuccessAuthenticationHandlerextends SimpleUrlAuthenticationSuccessHandler implements AuthenticationSuccessHandler{
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
response.getWriter().write(JsonHelper.objectToJson(new CustomDto()));
}
}
И проблема в том, что в браузере в ответе нет никакого тела. Я могу установить статус HTTP или заголовки, используя HttpServletResponse
, и это установлено, но если я пишу тело - оно всегда пусто. Я пытался использовать response.getOutputStream().write()
, flusing et c. но ничего не работает. Даже если я перенаправлю на конечную точку необходимые данные, тело всегда будет пустым. Может ли это быть как-то связано с маршрутизацией React, выполняемой front?