2012-04-21 1 views
8

방금 ​​Windows XP에 IIS를 설치했습니다.경로 'c : inetpub wwwroot myapp App_Data'에 대한 액세스가 거부되었습니다.

Access to the path 'c:\inetpub\wwwroot\myapp\App_Data' is denied. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access to the path 'c:\inetpub\wwwroot\myapp\App_Data' is denied.

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via , the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

Source Error:

Line 70: Protected Sub cmbSettingFiles_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbSettingFiles.SelectedIndexChanged
Line 71: Dim doc As XmlDocument = New XmlDocument()
Line 72: doc.Load(Path.Combine(basePath, cmbSettingFiles.SelectedValue)) Line 74: Dim settingsNode As XmlNode = doc.SelectSingleNode("/settings")

Source File: C:\myapp\install\install.aspx.vb Line: 72

나는이 작업을 수행하여 격자 권한을 시도했다 : 나는 응용 프로그램을 실행하려고하면

, 나는 오류 얻을

To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

을하지만 오류가 지속됩니다.

내 코드와 관련이 있습니까?

어떻게 해결할 수 있습니까?

내 dev에 컴퓨터에 문제를 해결했다,하지만 난 여전히 내 웹 서버에 오류가 발생하고

편집 할 수 있습니다.

감사합니다.

+0

내 dev 컴퓨터에서 파일을 사용하는 사람은 단 하나 뿐이며, 내 서버를 온라인으로 업로드 할 때도 마찬가지입니다. – Smith

+0

나는 아래 표를 왜 묻을 수 있습니까? – Smith

답변

8

Try to go to App_Data folder property and add ASPNET user with read and write privileges

참고 :이 ..이 구성 파일을 사용하여 XML 파일을 다른 스레드에 의해 열려 있지 여부를 확인하고 일부를 제공 한 후 문제가 해결되지 않으면
How to assign correct permissions to App_Data folder of WebMail Pro ASP.NET
Permissions on APP_DATA Folder
ASP/ASP.NET Best way to handle write permissions?

더 많은 세부 사항이 여전히 지속된다면.

+0

안녕하세요. 새로운 오류를 살펴 보도록 도와주세요. 웹 서버에서 같은 오류가 발생했습니다 – Smith

1

올바른 사용자를 추가 하시겠습니까? 귀하의 응용 프로그램 응용 프로그램 풀에 대해 설정된 사용자를 확인 했습니까?

이 오류는 어떤 이유로 파일을 읽을 수없는 경우에도 발생합니다. 파일이 잠겨 있거나 다른 응용 프로그램에 의해 사용 된 것과 같은. 이것은 ASP.NET 웹 응용 프로그램이므로 파일을 잠 가야하는 작업은 수행하지 않는 것이 좋습니다. 한 번에 한 페이지 만 사용할 수 있다는 것을 보장 할 수 없다면

파일에 액세스하는 방법의 예를 게시 할 수 있습니까? 어떤 유형의 파일입니까? 코드 스 니펫을 사용하면보다 정확한 답변을 얻을 수 있습니다.

4

는 파일이 읽기 전용 인 경우, 추가 매개 변수가 나는 비슷한 상황이 있었다 FileStream

using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read)) 
1

에 도움이 될 수 있습니다 것이 좋습니다. 소스 코드 제어를 위해 TFS를 사용하고 있습니다. 내가 찾은 것은 그것이 체크인되었을 때 파일을 읽기 전용으로 만들었다는 것입니다. 이로 인해 위의 오류가 내 서비스에서 읽기/쓰기를 열었습니다. 일단 편집을 위해 그들을 체크 아웃. 모든 것이 훌륭하게 작동했습니다. 나는 서비스에서 읽기 전용으로 열려고하는 것을 고려하고있다. 일단 프로덕션 서버에 게시되면 문제가되지 않는다고 생각합니다. 개발 환경에서만. Entity Framework를 사용하는 서비스에서도 비슷한 문제가 발생했습니다. .svc 파일을 체크 인하면 EF를 통해 데이터베이스를 업데이트 할 수 없습니다.

+1

TFS를 사용하지 않는 이유 중 하나가 더 많습니다. –

0

NETWORK SERVICE 사용자에게 권한을 부여하십시오.

1

모든 권한이있는 ASP.net v4.0을 추가하려고했지만 NETWORK SERVICE 사용자는 추가했지만 아무 도움이되지 않았습니다. 마지막으로 DefaultAppPool 사용자의 수정 권한을 App_Data 폴더에 추가하여 문제를 해결했습니다.

+0

이것은 나를 위해 일했습니다. 새 서버와 배포 패키지는 app_data 폴더를 만들지 않았습니다. 내가 만든 다음 수정 권한을 DefaultAppPool에 추가했습니다. – Luke

0

경로에 대한 액세스는 C를 거부 .. 나를 위해 해결 관리자 privilege..This 문제와 비주얼 스튜디오를 실행하십시오 : \을 Inetpub \ wwwroot에 가 거부는 셀프 서비스 웹 사이트 수를 나타냅니다 설치된 서버의 특정 폴더에 액세스하지 마십시오. 위치가 존재하지 않거나 인증 사용자에게이 위치에 쓰기 권한이 없기 때문일 수 있습니다.

0

또 다른 이유는 파일 경로가 비어있어서 쓰기를 시도하는 곳에서 찾을 수 없기 때문일 수 있습니다. 이 오류가 발생하는 또 다른 이유. Windows 서버에 그 실행 IIS를 들어

2

: 기본적으로

는 IIS 사용자는 wwwroot 폴더에 대한 쓰기 권한이 없습니다. 이는 wwwroot에 대한 IIS_IUSRS 사용자에게 모든 권한을 부여하면 해결할 수 있습니다.

  1. 파일 열기 탐색기 마우스 오른쪽 wwwroot를 클릭하고 사용 권한을 편집하려면 "속성"
  2. 이동 보안 탭을 클릭하십시오 "편집 ..."을 클릭 C:/inetpub/
  3. 로 이동
  4. 찾아 IIS 사용자를 선택하십시오. 제 경우에는 IIS_IUSRS ([server name]\IIS_IUSRS)입니다.
  5. 모든 권한에 대해 "허용"확인란을 선택하십시오.
관련 문제