1

私は、SharePointの下で、標準的なServer2003/IIS6セットアップでWebサービスを実行しています。このWebサービスは、同じドメイン内の別のマシン上の共有からファイルを開いて読み取る必要があります。現時点で私は

System.UnauthorizedAccessException:パス'\ strand \ DROPBOXES \ MattTrinder \ SharepointShared\bd116dfa-be0e-4c58-93e6-3fb93fa0ef22.tmp'へのアクセスが拒否されました。System.IO .__ Error.WinIOError(Int32 errorCode、StringmaybeFullPath)で

このWebサービスがファイルを開いて読み取ることができるようにするには、どのアカウントにどのようなアクセス許可を付与する必要がありますか?

「\\sharepointserver\c$」の使用は正常に機能します...

ありがとう

マット

4

3 に答える 3

3

アクセスを許可するアカウントは、ターゲット (共有が存在する場所) にも存在する必要があります (同じドメイン アカウント、または同じパスワードを持つローカル アカウントのいずれか)。通常、IIS ユーザーは自動生成されたパスワードを持ち、ローカルであるため、これは困難です。

これを解決する方法は、Web サイトを別のユーザー (自分で作成したユーザー) として実行し、リモート PC 上の共有にアクセスするためのアクセス許可をこのユーザーに付与することです。共有権限とファイル システム権限の両方が正しい必要があることに注意してください。

于 2008-11-14T11:14:50.397 に答える
2

ファイル システム レベルと共有で読み取りアクセスを許可する必要があります。問題は、ネットワークにアクセスできないネットワーク サービス アカウントで sharepoint が実行されていることです (おそらく、変更できるため)。

オプション:

  • Web サービスに統合認証を使用している場合。次に、Web サービス クライアントを実行するユーザーにアクセス許可を付与する必要があります。しかし、この暗い道を行かないでください。委任は構成が非常に難しいためです。
  • Web サービスに匿名でアクセスできる場合は、Web サービスが実行されているアプリケーション プールが、そのファイルにアクセスできる明示的なユーザーのユーザー権限で実行されていることを確認してください。これは、sharepoint 管理サイトで構成できます。または、コンピュータ管理 mmc を使用します。
于 2008-11-14T11:15:14.360 に答える
1

従来の asmx Web サービスは、デフォルトで IUSR_ アカウントとして実行されます。これには、ネットワーク パスにアクセスする権限がない可能性があります。アプリケーション プール ID を変更することで、これをドメイン アカウントに変更できます。

于 2008-11-14T11:21:45.750 に答える