2013-08-12 3 views
0

업로드 한 각 사용자에게 w.r.t를 표시 할 수 있도록 솔루션 파일의 폴더에 워드 파일을 업로드해야한다는 요구 사항이 있습니다. 파일을 폴더에 성공적으로 업로드했습니다. 지금은 사용자의 세부 정보와 업로드 된 단어를 시스템 관리자에게 보내려고합니다.Server.MapPath()의 System.UnauthorizedAccessException

하지만 System.UnauthorizedAccessException이 발생했습니다. 아래 코드 줄에 있습니다.

Msg.Attachments.Add(new Attachment((Server.MapPath(filePath)))); 

상세한

예외 메시지는 아래와 같다 :

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

날 문제 ..

+0

해당 폴더의 익명 사용자에 대한 읽기 권한을 추가합니다. – Raghubar

+0

메시지에서 암시 한 내용을 시도해 보셨습니까? 문제를 해결하는 방법을 알려주고 있습니다 ... – anaximander

+0

익명 인증을 사용했습니다. 나는 또한 사용자에게 완전한 제어 권한을 부여했다. – Tannya

답변

2

부여 ASP.Net 계정 또는 네트워크 서비스 계정에 대한 전체 persmission를 정렬 도와주세요. 또는이 계정에 임시 폴더에 대한 전체 액세스 권한이 있는지 확인하십시오.

-2

웹 사이트를 배포 한 폴더에 Everyone 권한을 부여하십시오.

+1

그건 끔찍한 생각이다 ... – Liam

0

@ Lingaraj가 제안한 솔루션에 동의하며 IIS_IUSERS 사용자가 파일을 업로드하는 폴더에 필요한 권한을 갖고 있는지 확인하십시오.

+0

예. 저는 IIS_IUSERS에 대한 허가를 받았습니다. 아직도 몇 가지 문제 !! – Tannya

관련 문제