2013-02-07 2 views
2

IIS 서버에서 "\\ esdata \ userdata"라는 UNC 네트워크 위치를 가리키는 가상 디렉터리를 구성했습니다. 이것을 설정하면 IIS 구성에서 특정 사용자를 설정하고이 사용자가이 디렉토리에 대한 전체 권한을 가지고 있다는 것을 알고 있습니다.Web.API 컨트롤러 및 DirectoryInfo에서 액세스가 거부되었습니다.

이제 내 Web.API 컨트롤러에서 해당 가상 디렉터리의 특정 하위 디렉터리를 찾고 있습니다. 예를 들어 johndoe (예 : \\ esdata \ userdata \ johndoe)입니다. 내 DirectoryInfo 객체를 만들 수 있는데, 그 경로가 정확히 올바른 것입니다. 그러나 해당 디렉토리 정보에서 GetDirectories()를 호출하면 확실히 하위 디렉토리가 있지만 사용자 IIS가 해당 디렉토리에 액세스하는 데 사용하는 권한이있는 경우에도 액세스 거부 예외가 발생합니다.

먼저 GetDirectories()의 제한 사항입니까? 나는 그것이 약간 문제점을 읽었다. 이 문제를 해결하기 위해 무엇을 할 수 있습니까? 아니면 내가 뭘 잘못하고 있습니까?

답변

2

발견하여 문제를 해결했습니다. 결론은 내가 승인 된 사용자의 ID를 사용하도록 기본 ApplicationPool을 구성하고 문서 here을 따라야한다는 것이 었습니다.

나는 내게이 디렉터리를 IIS의 가상 디렉터리로 매핑하고 동일한 사용자로 매핑했는지 문제가 있다고 생각합니다. 분명히 이것은 내가 생각했던대로 정보에 접근 할 수있는 권한을 부여하지 않습니다. 아마 응용 프로그램 풀 ID를 변경하는 좋은 생각은 아니지만, 인트라넷 기반 사이트의 경우 내가 가고 싶은 곳으로 나를 가져갈 것입니다.