为什么.Net WebBrowser控件需要在Windows Server 2008上提升权限?

时间:2014-05-07 01:24:25

标签: javascript .net iis webbrowser-control applicationpoolidentity

我有一个ASP.NET应用程序,其中包括抓取另一个网站。我在STA线程中使用无头System.Windows.Forms.WebBrowser控件,使用Navigate()处理DocumentCompleted事件,yada,yada。 WebBrowser控件导航到远程站点的登录页面(使用javascript来调整DOM,因此需要WebBrowser)。我设置了UserID和Password字段,然后我调用了WebBrowser.Document.All ["提交"]。InvokeMethod("点击")。

在运行Windows 7和IIS 7.5的开发框中,此操作符合预期。 DocumentCompleted下次启动时,很明显我已成功登录,并且巧妙地了解了我的业务。但是,在我的Rackspace生产服务器上运行没有Hyper-V的Windows Server 2008企业版#34;和IIS 7.0一样,它失败了:在那个盒子上,下次DocumentCompleted被解雇时,我会发现我收到了远程站点"你已经注销了。&# 34;页。

我尝试将远程站点添加到“可信站点”列表,并禁用管理员和用户的IE ESC,但无效。

我终于设法实现了所期望的行为 - 我在开发环境中看到的行为 - 在一个特殊的应用程序池中运行此应用程序,我将其设置为Administrator。但我不想这样离开。

允许此无头STA WebBrowser正确浏览此依赖于javascript的远程站点,最小特权身份或应用程序池上足够的最小权限集是什么?

0 个答案:

没有答案