2012-04-16 1 views
0

내가 공유 호스팅에서 (로컬 서버에서 작동 확인) ASP.NET 응용 프로그램을 설치 그리고 난이 시점에서 예외 얻을 :IO.Directory.CreateDirectory() 오류

IO.Directory.CreateDirectory(the_path) 

예외를 입니다 : 유형의 허가

오류 요청 'System.Security.Permissions.FileIOPermission, mscorlib에, 버전 = 2.0.0.0이, PublicKeyToken = b77a5c561934e089 문화 = 중립'실패했습니다. 나는 그것이 MediumTrust 환경과 관련이있을 수 here를 참조로

폴더는 ...,

어떤 아이디어를 가지고 (또는해야한다) 올바른 쓰기 권한 및 호스팅에 그들은 많은 말을하지 않으며, 이걸 어떻게 대면해야합니까? 하나의 solution could be (아직 시도하지 않았 음) virutal path 디렉토리 내에 쓰기 가능한 폴더를 두십시오. 실제로이 파일은 경로를 아는 모든 사람에게 실제로 노출되므로 내 파일의 보안 문제입니다.

+0

단순한이 asp.net 앱이 실행중인 사용자에게는 디스크에 쓸 수있는 권한이 없습니다. –

답변

1

웹 호스트가 .Net의 디스크 쓰기 기능을 제한했습니다.

변경을 요청하거나 가상 디렉터리 내에 쓰고 Web.config를 사용하여 공용 HTTP 액세스를 방지 할 수 있습니다.

+0

고맙습니다. 내 응용 프로그램은 인증 모드 = "Forms"로 구성되어 있습니다. 이 폴더의 내용 (PDF, DOC, XLS, JPG 등)을 기록하지 않은 사용자에게 보호하기 위해 추가 할 수 있습니까? –

+0

IIS 버전에 따라 다릅니다. 호스트에게 문의하거나 제어판을 살펴보십시오. – SLaks

+0

나는 그것이 IIS7라고 생각한다. –

0

내가 공유 호스팅에서 (로컬 서버에서 작동 확인) ASP.NET 응용 프로그램을 설치 있어요

일반적으로 호스팅하는 매체 신뢰로 실행, 그래서 그들은 당신이 권한을 부여하지 않는 공유 응용 프로그램의 디렉토리 밖에서 파일 시스템에 쓸 수 있습니다. the_path은 웹 응용 프로그램의 루트 안에 있어야하며 파일 시스템에 대한 쓰기 권한이 있어야합니다.

파일 시스템에 쓰기 권한이 있는지 확인하려면 호스팅 제공 업체에 문의하십시오.