2011-03-04 3 views
0

파일 스트림 및 File.OpenRead()를 사용하여 파일을 읽으려고하는 ASP.NET MVC 응용 프로그램이 있습니다. 파일 경로가 동일한 작업 그룹의 공유 일 때 공유에 대한 네트워크 서비스에 대한 액세스 권한을 부여하면 원하는대로 완벽하게 작동합니다.File.OpenRead()는 작업 그룹 내의 공유에있는 파일에 액세스하지만 원격 공유에는 액세스하지 못합니까?

그러나 공유에 대한 경로가 LAN 내의 원격 공유에 대한 UNC 경로이고 "Everyone"에 대해 읽기 권한이 열려있는 경우 "File.OpenRead()"메서드는 "찾을 수 없습니다. 경로의 일부 "로 표시됩니다.

내 테스트 케이스에서 나는 실제로 실행중인 컴퓨터에 UNC 경로가 주어진 ASP.NET MVC 응용 프로그램을 사용하여 로컬 디버깅을하고 있습니다. 내 C 드라이브의 공유이며 "모든 사용자"에게 읽기 액세스 권한이있는 "공유 됨"입니다.

IIS에 구성해야 할 것이 있습니까? 이 컨텍스트에서 가장하려고하면 NETWORK SERVICE가 같은 작업 그룹의 공유에 사용할 때 파일에 액세스하려고 시도했기 때문에 가장은 중요하지 않습니다.

+0

일부 코드를 게시하고 파일 경로를 확인 했습니까? –

답변

0

IIS는 원격 공유에 고유 한 방식으로 액세스 할 때 인증을 처리합니다. 이 기사를 보시기 바랍니다 : UNC Authentication in IIS 6.0. 또는 IIS UNC site:microsoft.com

0

NETWORK SERVICE 계정에 공유에 액세스 할 수있는 권한이 있는지 확인하려면 공유 사용 권한을 확인하십시오. 공유는 물론 실제 파일/폴더에 대한 사용 권한이 필요합니다.

[] '

+0

나는 "Everyone"에게 공유에 대한 권한을 부여 했으므로 아무 문제가 없다고 생각했습니다. 나는 명시 적으로 "네트워크 서비스"에 대한 공유 권한을 명시 적으로 부여했으며 여전히 동일한 결과를 보였습니다. 권한 문제가 아니라 경로 나 파일을 찾을 수없는 것과 같은 것입니까? –

+0

응용 프로그램이 어떻게 구성되어 있습니까 (Windows 인증 대 양식 인증, 사용자가 웹 사이트를 실행하는 응용 프로그램 풀에 넣었습니까? 통합 보안, 익명 액세스 등을 사용하고 있습니까?). 그 종류의 정보는 우리가 당신을 도울 수 있도록 도와줍니다 ... 그건 그렇고,이 링크를보고 귀하의 시나리오에 맞는 지보십시오. http://weblogs.asp.net/owscott/archive/2008/08/22/ iis-windows-authentication-and-the-double-hop-issue.aspx가 있습니다. [] 님의 – Fabio