0

最近、フォーム認証からWindows認証に変換したサイトがあります。私はついにそれを正しく動作させました。私はまだ適切な回避策を見つけていない1つの問題に遭遇しています。バックエンドコード内から他のページを呼び出し、返されたページからコンテンツセクションを取得するページがいくつかあります。コードが他のページを呼び出しているため、アクセス拒否エラーが発生します(コードは認証に合格できません)。リクエストでWindowsクレデンシャルを渡すいくつかの方法を試しましたが、すべて失敗しました。

この関数のADユーザーを作成し、ユーザー名とパスワードをリクエストとともにハードコードして、情報を取得できるようにします。誰かが私にこれを可能にするコードを教えてもらえますか?これまでのところ私は成功していません。ありがとう。

-編集-私はそれらすべてを覚えていませんが、これが私が試した最後のものです:

Dim wc As New WebClient()  
Dim credential As NetworkCredential = New NetworkCredential(ADusername, ADPwd, ADDomain)  
wc.Credentials = credential  
Dim strXML As String = wc.DownloadString(RssFeedUrl)  

これにより、ページは(401)Unauthorizedに戻ります。

私が試したもう1つのこと...「取得」の1つはRSSフィードであり、これはフィードの場所です。

  <location path="RSS.ashx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

それは役に立たなかったようです。

4

1 に答える 1

0

さらにテストを行った結果、上記のコードが実際に機能することがわかりました。それをWindowsアプリケーションにコピーして、複数のマシンで実行しました。コードをホストしたいサーバーを除いて、すべて正しく機能しました。イベントビューアを掘り下げて、セキュリティ監査に失敗しました。この情報を使用して、サーバーに「ループバックチェック」があることがわかりました。Microsoft KBの記事896861を使用して、サイトと出来上がりのループバックチェックを無効にしました。現在は機能しています。

于 2012-05-23T18:28:47.990 に答える