Я видел этот вопрос до того, как я разрабатывал подключаемый модуль Eclipse, который использовал API-интерфейс Джерси для HTTP-запросов для веб-службы RESTful. Каждый раз, когда веб-служба отвечала кодом состояния 401 HTTP, Eclipse автоматически отображает стандартный диалог проверки подлинности, в котором пользователь должен ввести свое имя пользователя и пароль.
Я смог подавить это нежелательное диалоговое окно проверки подлинности, удалив экземпляр Authenticator
по умолчанию. Вы можете сделать это, используя следующий фрагмент кода:
Authenticator.setDefault(null);
Если вы делаете это на стадии инициализации вашего приложения, прежде чем использовать Client API-Джерси, чтобы делать какие-либо HTTP-запросы, он должен предотвратить диалог аутентификации по умолчанию из отображается, если возникает ответ HTTP 401.
Для получения более подробной информации, пожалуйста, обратитесь к Authenticator
documentation.
Если вы хотите отобразить собственное диалоговое окно проверки подлинности вместо диалогового окна по умолчанию, вы можете реализовать собственный подкласс класса Authenticator
, который отображает желаемый диалог. Затем вы можете зарегистрировать его в своей заявке, используя Authenticator.setDefault(customAuthenticator);