Обычно ответственность за реализацию единого входа лежит на сайте, и клиент автоматически отвечает на сайт.Поскольку элемент управления веб-браузера использует IE, он наследует те же возможности, что и веб-браузер.Например, если сайт использует Windows Authentication , тогда элемент управления будет аутентифицироваться после вызова с сайта без вмешательства пользователя.Аналогично, элемент управления будет выполнять необходимые перенаправления, если сайт использует SAML 2.0 .
Поскольку это внешние сайты, я должен предположить, что проверка подлинности Windows не будет работать должным образом, поскольку сервер иклиент находится на разных доменах.Поэтому что-то вроде SAML звучит как наиболее безопасный вариант.
Похоже, что реализация SAML станет проблемой для вас, и вам нужно вручную заполнять и отправлять веб-формы, которые загружаются внутри элемента управления.Это возможно благодаря доступу к DOM, но быстро становится трудным в обслуживании.
Элемент управления веб-браузера предлагает свойство document , которое дает вам объект HtmlDocument который позволяет найти элементы и выполнить JavaScript на страницах.Вам необходимо использовать эти механизмы для автоматического выполнения аутентификации.Шаги могут выглядеть следующим образом:
- Захватить URL или какой-нибудь файл cookie, который сообщит вам, требуется ли аутентификация, путем проверки свойств элемента управления веб-браузера.Возможно, вы захотите изучить OnNavigate () .
- Доступ к документу и заполнение значений формы.
- Вызов функции отправки JavaScript для отправки формы или вставка некоторыхJavaScript для этого.Мне легче вставлять JavaScript в страницы, чем писать более сложный код на C # во многих случаях.Прототип проще в обычном браузере.