Почему HttpServletResponse имеет пустое тело после успешного входа - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть приложение, которое использует 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?

...