1

POST認証が必要な Web URL に対してインスタンスを使用して実行しようとしましたが(メンバーシップ システムが組み込まれHttpWebRequestた ASP.NET MV3 標準装飾アクション メソッド)、ログインとパスワードを提供してもうまくいきませんでした。[Authorize]NetworkCredentialsHttpWebRequest

私はグローバルCookieContainerと2つを使用することになりましたHttpWebRequests

  1. リクエストCookieContainerを に設定しglobalCookieContainerます。
  2. ユーザー名とパスワードをログオン URL に POST します。(そのステップの後、コンテナは引き続き Cookie カウントが 0 であると報告します)。
  3. 別のHttpWebRequestインスタンスを作成し、globalCookieContainerをリクエストの に設定しますCoockieContainer
  4. 認証が必要な最終 URL に POST します。何らかの理由で、今度は 2 番目のリクエスト オブジェクトがリクエストの一部として Cookie を提供し、それが通過します。

Cookie 管理の「魔法」全体については、どこにも詳しく説明されていません (実際にいろいろと調べてみました)。

このシナリオをカバーしました。しかし、どのような場合HttpWebRequest.Credentialsに使用する必要がありますか?

4

1 に答える 1

1

HttpWebRequest.CredentialsAuthenticationSchemes列挙型のスキームの 1 つを介して認証が実行される場合に使用することを意図しています。特に、これには Basic および Digest HTTP 認証、NTLM および Kerberos が含まれます。

NetworkCredentialとはいえ、クライアント側から派生させてサーバー側で実装することにより、独自のカスタム認証スキームを作成できIAuthenticationModuleます。

于 2012-01-14T01:51:14.527 に答える