[環境]
サーバー:IIS 7.5
開発環境:VS2010
[仕組み]
クライアント → サーバーAに以下の手順でアクセスし、
ファイルサーバー内のファイルをダウンロードする。
サーバーA:
ファイルサーバー
サーバーBからAPI:WebClient.DownloadDataでファイルアクセスされる
ファイル配置フォルダはEveryoneの権限を設定
サーバーB:
クライアントのインターフェイスサーバー
クライアントからWCF経由でリクエストされる
サーバーAへWebClientでファイルアクセスを行い、binaryデータを取得する
クライアント
サーバーAのファイルをダウンロードするために、
WCFを使用しサーバーBにアクセス
アクセス対象のファイルをuri形式(file://\\A\・・・)でWCFのサービス関数に指定
[質問内容]
クライアント→サーバーBへリクエストを実施すると、
サーバーB→サーバーAの間で「アクセス権が拒否される」
といったエラーが発生します。
1.本エラーを出さないための解決方法をご教授いただけませんでしょうか
2.実際はサーバーAに対して特定のユーザー(ソースにサーバーAへのアクセス)のみ
アクセスを許可するような仕組みにしたいのですがどういった設定を追加すればよろしいでしょうか。
[確認事項]
・サーバーBのWCFをhostしているIISのapplication poolの実行ユーザーを
Admin もしくは domain userに変更するとアクセスは出来る
・IISの偽装設定(inpersonate = true user、、、)を指定する
問題解決する場合があると記載を見たので試みましたが、効果は無かった
・サーバーB内でWebClientの指定URIを自分のディレクトリにした場合(
file://c:\・・・)アクセスは可能ですが、
(file://\\A\・・・)とするとエラーが発生
・サービスをWCFではなくASP.NETで実行したところ同様の問題が発生(WCF起因ではないよう。。。)