2012-02-03 9 views
1

localhost에서 웹 사이트를 호스팅하고 있으므로 FileUploadControl을 사용하여 ImageServer라는 다른 서버에 이미지 파일을 업로드해야합니다.원격 서버의 폴더에 대한 쓰기 권한

if (FileUploadControl.HasFile) 
    { 
     try 
     { 
      string filename = Path.GetFileName(FileUploadControl.FileName); 
      FileUploadControl.SaveAs(@"\\ImageServer\" + filename); 
     } 
     catch (Exception ex) 
     { 
      throw; 
     } 
    } 

하지만 이미지를 제출하려고하면이 권한 오류가 발생합니다.

예외 정보 : System.UnauthorizedAccessException : '\ ImageServer \ xxx.jpg'경로에 대한 액세스가 거부되었습니다.

ASP.NET은 요청한 리소스에 액세스 할 수있는 권한이 없습니다. ASP.NET 요청 ID에 대한 리소스에 대한 액세스 권한을 에 부여합니다. (MACHINE) \ ASPNET (IIS 5의 경우) 또는 네트워크 서비스 (IIS 6의 경우)는 응용 프로그램이 가장하지 않는 경우에 사용되는 ASP.NET에 기본 프로세스 ID가 있습니다 (일반적으로 {MACHINE} 응용 프로그램이 을 통해 위장하면 익명 사용자 (일반적으로 IUSR_MACHINENAME) 또는 요청 사용자 인 ID는 이됩니다. 파일에 ASP.NET 액세스 권한을 부여하려면 Explorer에서 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택하고 보안 탭을 선택합니다. "추가"를 클릭하여 적절한 사용자 또는 그룹을 추가합니다. ASP.NET 계정을 강조 표시하고 원하는 액세스 상자를 선택하십시오.

폴더 보안 탭을 살펴보면 네트워크 서비스, IUSR, IIS AppPool \ Image 및 모든 사람에게 모든 권한이 부여됩니다. 그 밖의 무엇이 실종 될 수 있 었는가? 로컬 호스트가 파일을 쓸 수 있도록 ImageServer의 이미지 폴더에 어떤 권한을 부여해야하는지 잘 모르겠습니다.

P/S :

+0

해당 사용자의 폴더에 대한 쓰기 권한을 확인하십시오 ... – Madhu

답변

0

주요 트릭 \\ ImageServer와를 가리키는 가상 디렉토리를 생성하는 것입니다 불구하고 Windows 탐색기를 통해 ImageServer에서 \를 \\ 할

IIS 7.5을 수동으로 파일을 복사하여 두 서버는 \ 작동 .

기사를 찾았습니다. here. IIS 6에 관한 내용이지만 IIS 7에서도 문제가되지 않을 것입니다.

관련 문제