обработка сообщений безопасности в .NET WebBrowser Control - PullRequest
0 голосов
/ 20 февраля 2010

Я пытаюсь написать приложение VB.net, которое позволит пользователям создавать свои собственные плагины виджетов в html / jscript, и я хотел бы установить свои собственные параметры безопасности в настройках приложений, позволяя пользователям выбирать, что запускать или нет например, скрипты, flash, activex.

Я хотел бы разрешить использование элементов управления activex без диалогового окна безопасности Windows в элементе управления WebBrowser (элемент управления ActiveX пытается взаимодействовать со страницей ...) или что бы то ни было.

Я начал настраивать элемент управления WB в соответствии со своими потребностями, реализуя различные интерфейсы, такие как IOleClientSite, IDocHostShowUI, IDocHostUIHandler и т. Д ...

Кажется, я не могу найти ничего, что позволило бы мне контролировать разрешения безопасности для WB Control. Я пытался реализовать IHttpSecurity и IInternetSecurityManager, но я либо лаю не на том дереве, либо неправильно делаю это.

Ответы [ 4 ]

1 голос
/ 05 июля 2012

Используйте этот код:

Public WithEvents Security as WebBrowserSecurityAlerts
Public Sub Security_Show(sender as object, e as WebBrowserSecurityAlertsEventArgs) Handles Security.Show
MSGBOX (e.Info.Encryption & vbnewline & e.Info.Identity)
End Sub

Дескриптор в веб-браузере

0 голосов
/ 27 февраля 2010

IHttpSecurity и IInternetSecurityManager должны работать, как выглядит ваша реализация? Проверьте http://support.microsoft.com/kb/246227 для примера.

0 голосов
/ 28 февраля 2010

IInternetSecurityManager требует IQueryInterface. В моем приложении не было реализовано IQueryInterface, поэтому оно не работало.

0 голосов
/ 20 февраля 2010

Элемент управления WebBrowser является еще одним экземпляром Internet Explorer и поэтому наследует настройки безопасности в IE.

Я не нашел другого способа изменить параметры безопасности, кроме как отредактировать их в самом IE. Скорее всего, вы также можете изменить настройки в реестре, но они будут глобальными для всех экземпляров IE. Если вы измените его в своем коде, то вы также измените его для всех экземпляров браузера.

В автоматизированном приложении, которое я написал некоторое время назад, я избавлялся от всплывающих окон, отслеживая всплывающие окна, захватывая дескриптор окна и отправляя щелчок по кнопке в этом окне. Конечно, не элегантное решение: (

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