System.Windows.Forms.WebBrowser иногда выполняет NTLM-аутентификацию - почему? - PullRequest
4 голосов
/ 12 декабря 2011

У меня есть приложение Windows Forms для .NET 2.0. Я пытаюсь добавить функцию единого входа через протокол SAML 2.0, для которого наиболее эффективным очевидным решением был встроенный веб-браузер.

Я проверил использование фиктивного приложения, содержащего только элемент управления WebBrowser, для обмена NTLM. Тем не менее, когда я встраиваю, по-видимому, тот же элемент управления в более крупное приложение, браузер не отвечает на первоначальный вызов HTTP 401 и вместо этого перенаправляет на страницу IE «Навигация отменена».

Googles не были получены, и я озадачен этим поведением. Может ли кто-нибудь пролить свет на то, что может препятствовать согласованию учетных данных WebBrowser?

1 Ответ

3 голосов
/ 12 декабря 2011

Я обнаружил ответ во время построчного сравнения между (рабочим) тестовым приложением и (не работающим) полным приложением.

Ключом к включению для меня согласования NTLM было установить ScriptErrorsSuppressed до false.Я намеревался скрыть всплывающие окна с сообщениями об ошибках Javascript от наших пользователей, но их подавление также подавляет согласование учетных данных.Пойди разберись.

...