В JxBrowser вы можете настроить белый список авторизации HTTP-сервера, который представляет собой строку со списком URL-адресов, разделенных запятыми/точками с запятой. Эта функция позволяет использовать встроенную проверку подлинности Windows (IWA) и проверку подлинности Kerberos для перечисленных доменов. С помощью IWA Chromium может аутентифицировать пользователя на веб-сервере или прокси-сервере, даже не запрашивая у пользователя имя пользователя или пароль. Он делает это с помощью кэшированных учетных данных, которые устанавливаются, когда пользователь впервые входит в систему на компьютере, на котором работает браузер. IWA поддерживается только для вызовов Negotiate и NTLM.
Метод HttpAuthPreferences.serverWhitelist() позволяет указать, какие серверы должны быть добавлены в белый список для встроенной аутентификации. По умолчанию встроенная аутентификация включается только при запросе аутентификации от прокси-сервера или сервера, который находится в этом разрешенном списке. Если этот список не задан, движок Chromium попытается определить, находится ли сервер во внутренней сети, и только после этого будет отвечать на запросы IWA. Если сервер определяется как Интернет, то запросы IWA от него будут игнорироваться.
Метод HttpAuthPreferences.delegateWhitelist() указывает серверы, которым Chromium может делегировать полномочия. Если этот список не установлен, Chromium не будет делегировать учетные данные пользователя, даже если сервер определен как интрасеть.
Если вы указываете несколько имен серверов в списках, разделяйте их запятыми. Подстановочные знаки (*) разрешены.
Пример
Предположим, что IIS работает на 127.0.0.1. Для сервера была включена проверка подлинности NTLM/Negotiate.
По умолчанию сервер отвечает 401 Unauthorized. После добавления 127.0.0.1 в белые списки аутентификация проходит без дополнительных запросов.
engine.network().httpAuthPreferences().serverWhitelist("http://127.0.0.1");
engine.network().httpAuthPreferences().delegateWhitelist("http://127.0.0.1");
Мы не тестировали это решение с проверкой подлинности Kerberos, поскольку у нас пока нет необходимой инфраструктуры, но вы можете попробовать использовать этот подход для настройки сервера и делегирования белых списков с адресами, использующими проверку подлинности Kerberos. Пожалуйста, попробуйте этот подход и дайте мне знать, если он поможет.
person
Vladimir
schedule
20.07.2020