2014-05-15 3 views
1

코드에 대한 사용 권한을 코드에서 변경할 수 있는지 궁금합니다.코드 뒤에서 파일 사용 권한 변경

문제 : : 불행히도 저는 웹 서버에 파일을 업로드하기 위해 AjaxFileupload를 사용합니다. 여태까지는 그런대로 잘됐다. 문제는 웹 서버의 매핑 된 폴더에 저장된 업로드 된 파일을 열 때 발생합니다. 파일은 다른 서버의 폴더에 표시되지 않으며 권한이 없습니다.

여기 이유는입니다. AjaxFileUpload는 임시 폴더에 파일을 저장 한 다음 실제로 정의 된 경로로 옮깁니다. 파일은 매핑 된 폴더에 대한 권한이 아니라 해당 임시 폴더의 권한을 상속받습니다. 매핑 된 폴더를 사용해야하고 매핑 된 폴더에 대한 사용 권한이 파일에 상속되어야합니다.

왜이 기능이 필요합니까? 파일을 열어야하는 데스크톱 응용 프로그램이 있기 때문에이 파일이 필요합니다. 매핑 된 폴더에는이 작업을 수행하는 데 필요한 모든 권한이 있습니다. 그럼, 어떻게? 코드 뒤에서 파일에 대한 사용 권한을 변경할 수 있다면 간단합니다. 파일을 폴더에 저장 한 직후에 말을 할 수는 있지만 그럴 수도 있습니다.

임시 폴더에 대한 사용 권한을 변경하는 것이 좋지 않다고 생각되는 이유는 무엇입니까?

도움이 될 것입니다!

편집 : enter image description here

enter image description here 그래서 나는 어떤 문제가 디스크에 파일을 저장 (서버 3) 필요 없다, clearify합니다. 내 문제는 파일이 매핑 된 폴더 허용을 상속하지 않기 때문에 서버 1에서 파일을 보거나 액세스 할 수 없다는 것입니다. 매핑 된 폴더는 서버 1과 서버 3 모두에서 허용되지만 하나의 파일은 서버 3의 허가를받은 파일 만 업로드됩니다.

답변

0

자신에 의해 그것을 해결. 기본적으로 ajaxfileupload가 원하는 파일 폴더로 이동하기 전에 temp-save를 만든 웹 서버의 tempfolder 이름을 준 코드를 작성했습니다. 내가 그 폴더에 기본적으로 해당 폴더에 대한 권한을 변경 한 이름을했을 때. 나는 데스크탑 애플리케이션이 웹 서버에서 다른 권리를 갖기를 원하지 않기 때문에 단지 폴더에 대한 읽기와 목록 허가만을 주었다. 그게 내가 매핑 된 드라이버에 나열된 파일을 얻는 데 필요한 모든 것입니다.

0

소스 파일에 대한 사용 권한 문제는 아닌 것 같습니다. IIS를 실행하는 데 사용되는 계정에 매핑 된 폴더에 대한 액세스 권한이 없다고 생각됩니다.

가장을 사용하여 파일을 저장하는 코드 섹션에 액세스 권한을 부여 할 수 있습니다.

은 다음을 참조하십시오 :

+0

내가 알지는 못하지만 귀하의 대답은 내 문제가 아니라 파일을 업로드하는 문제를 해결하는 것 같습니다. 아니면 아무것도 이해 못 하겠니? 문제에 대한 더 나은 설명을 위해 제 편집을보십시오. – chrillelundmark