1

Windows 認証のみを使用する内部 MVC3 アプリに取り組んでいます。Web サービスを呼び出す前に何らかの処理を行うコントローラー アクションへの AJAX 呼び出しを行うビューがあります。私たちが直面している問題は、匿名アクセスがオフになっている場合 (Windows 認証がオンになっている場合)、コントローラー アクションからサービスを呼び出すと、401: Unauthorized エラーが発生することです。

サービス内でサービスを呼び出すときに、認証情報がサーバーからサーバーに正しく渡されないというダブル ホップの問題が発生しました。AJAX呼び出しが同じ動作を多少模倣していて、正しいWindows資格情報をコントローラーに送信していないため、正しい資格情報をWebサービスに渡していないのではないかと思っています。

jQuery呼び出しとともにユーザー名とパスワードを渡す方法を示すいくつかの投稿を見てきましたが、Windows認証を持ち込むための効果的な方法については何も言及されていません。

誰かが同様の問題に遭遇しましたか? アクセスを制御したい機密データであるため、Web サービスに匿名アクセスを残したくありません。

4

2 に答える 2

0

同僚が週末に調査を行い、サーバーでのKerberos認証の設定とjQueryの呼び出しに関係がある可能性があると判断しました。これを回避するために、アプリケーションが参照するライブラリにWebサービスをリファクタリングしました。将来的には他のアプリケーションからこのデータにアクセスする必要があると考えたため、当初はWebサービスにしました。この問題が発生すると、おそらくNuGetパッケージになります。

コメントありがとうございます。

于 2012-09-04T14:37:55.213 に答える
0

この質問で説明されているように、ID の偽装を有効にしていますか?

asp.netでidentity impersonate="true"のときにWindowsユーザー名を取得するには?

于 2012-08-31T18:35:57.797 に答える