Вызовите java.net.URL.getConnection () с текущими учетными данными пользователя - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь выполнить следующие каскадные запросы

Client_Browser -> Webapp -> Webapp (localhost loop call)
  1. Клиент вызывает веб-приложение с действительными учетными данными
  2. Веб-приложение вызывает себя (localhost). Этот вызов выполняется библиотекой третьей части с простым url.getConnection ()

В это время, когда сам веб-приложение вызывает сам запрос, код ошибки 401 (не аутентифицируется) может быть защищен.

Мне удалось «решить» эту проблему, статически установив Аутентификатор (жестко запрограммированный)

Authenticator.setDefault(new Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication("user", "password".toCharArray());
    }
});

Основная проблема заключается в том, что предполагается, что я знал учетные данные текущего пользователя. Я могу восстановить имя пользователя, но нет никаких шансов, что я смогу использовать чистый пароль. Также это решение является общим, я хочу обрабатывать только с определенной схемой аутентификации для локального соединения.

Я ожидаю, что соединение может быть установлено с использованием текущего идентификатора сеанса с управлением cookie. Но я не смог заставить его работать.

Если это может помочь, мое приложение основано на SpringMVC + Spring Security.

Спасибо за подсказку!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...