2012-01-25 12 views
1

私は本質的に厚いクライアントデータ収集アプリであるC#/ .Netアプリを持っています。部品番号が与えられると、(外部のOrcale DBへの)いくつかのDBクエリと、いくつかのSharepointクエリと、関連情報のためにいくつかのネットワークドライブを検索します。今私はこれをサービス指向アーキテクチャに変更しようとしています。 Webサービスは現在サーバ上に存在し、シンクライアントから呼び出されると、dbクエリ、sharepointクエリ、およびファイルシステムクエリを実行し、結果を返します。このすべては、ファイル検索を除いてうまく機能します。検索は空になってしまいます。ウェブサービスは小さな仮想ファイルシステム内で実行されているため、スキャンする必要のあるファイルをスキャンするためにネットワークドライブを調べることができないと思います。Webサービスへのファイルシステムアクセスを有効にする方法

サービスが必要な情報を取得できるように、ネットワークドライブへの保護された読み取りアクセスを許可する正しい方法をお勧めしますか?私はこれらのファイルをシンクライアントに直接配信するつもりはなく、私たちのオフィスのネットワークドライブ全体にバックエンドアクセスできるようにするだけです。 WebサービスはIIS 6、Windows Server 2003上でホストされています。

+0

アクティブなディレクトリは使用中ですか? – Kev

+0

はい、アクティブなディレクトリが使用されています –

答えて

0

Webサービスは次のように実行されています(IIS6のデフォルトは覚えていませんが、本質的に「ネットワークサービス")、セキュリティで保護されていればネットワーク共有を読み取ることはできません。最善の策は、Webサービスが実行されるドメインアカウントを作成し、 "インターネットインフォメーションサービス(IIS)マネージャ"を使用してアプリケーションプールを上記のユーザーとして実行するように設定することです(注:IIS 6の場合は、ユーザーをローカルユーザーグループ "IIS_WPG"に変更します)。

小さなノートでは、質問を通して「ネットワークドライブ」と言います。サービスはマップされたネットワークドライブを共有しません。そのため、完全なUNCパス(\\server\shareではなくm:\)を提供する必要があります。

+0

ありがとう、これは基本的に私の質問に答えました。私はドライブマッピングの問題を知っていたので、私はドライブレターを使用していません。アプリケーションプールのIDを設定することはうまくいくようですが、クライアントの資格情報が通過することが望ましいので、ユーザーは許可されているアイテムだけを読むことができます。 –

+0

@RandyGamage、喜んで助けました=)パススルー認証情報ビットは全体的にかなり解決しやすい魚のまったく異なるケトルです。おそらく、ここで(そして/またはserverfaultに)あなたのためにそれをカバーする質問が2つあります。 – Rob

関連する問題