4

UNC ネットワークの場所 "\\esdata\userdata" を指す IIS サーバーに構成された仮想ディレクトリがあります。これを設定するときに、IIS 構成で特定のユーザーを設定しました。このユーザーがこのディレクトリに対して完全なアクセス許可を持っていることがわかっています。

今、私の Web.API コントローラーで、その仮想ディレクトリ内の特定のサブディレクトリを探しています。たとえば、johndoe (\\esdata\userdata\johndoe) とします。DirectoryInfo オブジェクトを問題なく作成でき、表示されるパスは正確に正しいものです。しかし、そのディレクトリ情報で GetDirectories() を呼び出すと、アクセス拒否の例外が発生します.

まず、これは GetDirectories() の制限ですか? 私はそれがいくつかの問題を抱えていることを読みました。これを回避するにはどうすればよいですか、または何が間違っていますか?

4

1 に答える 1

3

問題を見つけて修正しました。要点は、こちらのドキュメントに従って、許可されたユーザーの ID を使用するようにデフォルトの ApplicationPool を構成する必要があったことです。

問題が発生したのは、このディレクトリを IIS で仮想ディレクトリとしてマップし、同じユーザーとしてマップしたことだと思います。どうやら、これは私が思っていた方法でその情報にアクセスする許可を与えていません。アプリケーション プール ID を変更するのはおそらく良い考えではありませんが、イントラネット ベースのサイトの場合は、目的の場所に移動できます :)

于 2013-02-07T16:57:40.460 に答える