2

とりわけ、別の Web サイトをスクレイピングしている ASP.NET アプリケーションがあります。DocumentCompleted イベント、yada、yada を処理する Navigate() を使用して、STA スレッドでヘッドレス System.Windows.Forms.WebBrowser コントロールを使用しています。WebBrowser コントロールは、リモート サイトのログイン ページに移動します (これは JavaScript を使用して DOM を操作するため、WebBrowser が必要です)。UserID フィールドと Password フィールドを設定してから、WebBrowser.Document.All["submit"].InvokeMethod("click") を呼び出します。

Windows 7 と IIS 7.5 を実行している私の開発ボックスでは、これは期待どおりに動作します。次に DocumentCompleted が起動したときは、ログインに成功したことは明らかであり、スマートに仕事を進めることができます。しかし、「Hyper-V なしの Windows Server 2008 Enterprise」と IIS 7.0 を実行している私の Rackspace 運用サーバーでは、失敗していました。ログアウトしました。」ページ。

リモート サイトを信頼済みサイト リストに追加し、管理者とユーザーの IE ESC を無効にしようとしましたが、役に立ちませんでした。

ID を管理者に設定した特別なアプリケーション プールでこのアプリを実行することにより、最終的に目的の動作 (自分の開発環境で見た動作) を実現することができました。でも、そのままにしておきたくない。

このヘッドレス STA WebBrowser がこの JavaScript 依存のリモート サイトを適切に閲覧できるようにするために、アプリケーション プールで十分な最小特権 ID、または最小限のアクセス許可セットは何ですか?

4

0 に答える 0