Active Directory フェデレーション サービスを使用してユーザーを認証する Web サイトがあります。コードで HttpWebRequest クラスを使用して、サイトの URL にアクセスしたいと考えています。しかし、それを試してみると、401 エラーが発生します。いくつかの調査の結果、NTLM 認証を使用していることがわかりました。私はこの解決策を試しました。しかし、私が受け取る応答は、いくつかの隠しフィールドを持つ HTML ページであり、ロード時にページを送信するための JavaScript があることがわかります。アクション URL は私のドメインの URL になります。HTML テキストをフォームとして手動で送信しようとしましたが、同じ応答が得られます。ページにアクセスする方法がよくわかりません。誰にもアイデアがありますか?
1 に答える
0
私はここ数日、まさにそのような問題に取り組んできました。多くのことを試した後、最終的に次の方法に頼りました。
- System.Net.CookieContainer オブジェクトを作成し、すべての httpwebrequest の CookieContainer に渡します。
- フォーム要素を手動で解析し、それらを RequestStream としてフォームのターゲットに渡します。これは、httpwebrequest で GET ではなく、POST として実行する必要があります。
- 連続するリクエストの場合は、必ず同じ CookieContainer をアタッチしてください。認証済みの ADFS Cookie が保存される場所があります。それらがなければ、無限ループに陥ります。
よろしく
于 2013-02-21T14:38:16.930 に答える