WebSphere не отображает элемент веб-страницы, когда URL содержит строку «? Error» - PullRequest
0 голосов
/ 18 апреля 2019

Я работаю над проектом безопасности Spring, в котором, если пользователь вводит неправильный userId-пароль, веб-страница будет обновляться сообщением «Invalid Login Attempt».

Я отправляю перенаправление на AuthenticationFailureHandler.onAuthenticationFailure

Фрагмент кода для реализации onAuthenticationFailure ().

@Override
  public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
      AuthenticationException exception) throws IOException, ServletException {
      //some logic
      response.sendRedirect(String.format("%s?error", getUrl());
    }
  }

Html-страница ресурса имеет тег div с зависимостью thymeleaf для идентификации error объекта и отображения сообщения

<div th:if="${error}" id="loginFailedMessage" class="alert alert-danger">
   Invalid login attempt.
</div>

Пока что эта реализация работает на сервере приложений Jboss и сервере приложений WebLogic - однако, когда не для веб-сферы .Есть ли причина, по которой WebSphere блокирует такой вызов url - мне не хватает любой конфигурации.Я устал другой версии WebSphere 8.5.5.9 до 8.5.5.13

пс.нет ошибок ни в каких журналах ffdc или журналах приложений.

1 Ответ

0 голосов
/ 23 апреля 2019

Решение будет использовать error=true в URL.По какой-то причине websphere не разрешает использование параметра url без присвоения значений.

@Override
  public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
      AuthenticationException exception) throws IOException, ServletException {
      //some logic
      response.sendRedirect(String.format("%s?error=true", getUrl());
    }
  }
...