2012-04-21 21 views
8

Windows XP'de IIS'yi yükledim.'c: inetpub wwwroot myapp App_Data' yoluna erişim reddedildi

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

Bunu yaparak ızgara izni denedi: Bir uygulama çalıştırmak çalıştığınızda

, bir hata alıyorum

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.

Ama Hata devam.

Bu, kodumla ilgili bir şey var mı?

Bunu nasıl çözebilirim?

benim dev makine üzerinde problemini çözdük, ama yine de benim web sunucusunda hata alıyorum

DÜZENLEME.

Teşekkürler.

+0

Dosyamı tek makinede kullanan tek kişi ve sunucumu çevrimiçi olarak yüklediğimde, aynı şey de oluyor. – Smith

+0

neden aşağı oyu sorabilir miyim? – Smith

cevap

8

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

Ref: o .. bu yapılandırma dosyalarını kullanarak XML dosyaları başka bir iş parçacığı tarafından açık olup olmadığını kontrol etmek ve bazı sağlamak sonra sorununuzu çözmezse
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?

hala devam ederse daha fazla detay.

+0

Merhaba, yeni hatayı görmeme yardımcı olabilir misiniz? web sunucusunda aynı hatayı alıyorum – Smith

1

Doğru kullanıcıyı eklediğinizden emin misiniz? Uygulama uygulama havuzunuz için hangi kullanıcının ayarlandığını kontrol ettiniz mi?

Dosya bir nedenle okunamıyorsa bu hata da oluşacaktır; dosya gibi başka bir uygulama tarafından kilitlenmiş veya kullanılmış. Bu bir ASP.NET web uygulaması olduğundan, dosyanın kilitlenmesini gerektiren herhangi bir eylem gerçekleştirmediğinizden emin olmak isteyeceksiniz; Garanti edemezseniz, sayfanızda bir seferde sadece bir kullanıcı olacak.

Dosyaya nasıl eriştiğinize dair bir örnek gönderir misiniz? Ne tür bir dosya bu? Kod parçacıkları daha kesin bir yanıt almanıza yardımcı olur.

4

sizin dosya salt okunur, sonra ekstra parametreler Ben benzer bir durum vardı FileStream

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

ile yardımcı olabilir düşünün. Kaynak kod denetimi için TFS kullanıyorum. Ne bulduğum, kontrol edildiğinde dosyaların okumasını sağladı. Bu, okuma/yazma işleminin açıldığı yerdeki hizmetimde yukarıdaki hataya neden oldu. Düzenleme için onları kontrol ettiğimde. Her şey harika çalıştı. Onları serviste açmaya çalışmayı düşünüyorum. Üretim sunucusuna gönderildikten sonra bunun bir sorun olmadığını düşünüyorum. Sadece geliştirme ortamında. Entity Framework kullanan Hizmetler ile benzer sorunlar gördüm. .Svc dosyası kontrol edilirse, veritabanından EF ile güncelleme yapamazsınız.

+1

TFS kullanmamasının pek çoğunun nedenlerinden biri de ... –

0

NETWORK SERVICE kullanıcısına izin vermeyi deneyin.

1

ASP.NET v4.0'ı tüm izinlerle eklemeyi denedim, NETWORK SERVICE kullanıcısını ekledim ancak hiçbir şey yapamazdım. Son olarak, App_Data klasöründeki DefaultAppPool kullanıcısı MODIFY hakkını ekledi, sorun çözüldü.

+0

Bu benim için de çalıştı. Yeni bir sunucu ve dağıtım paketim bir app_data klasörü bile oluşturmadı. Bunu oluşturdum ve sonra DefaultAppPool için değişiklik hakları ekledim – Luke

0

yoluna Erişim C engellendi .. benim için çözüldü Yönetici privilege..This Sorunu ile Visual Studio çalıştırın Lütfen: \ inetpub \ wwwroot engellendi olduğunu Self Servis web sitesi can gösterir Yüklendiği sunucudaki belirli bir klasöre erişme. Bu, konumun mevcut olmadığı veya Kimlik Doğrulayan Kullanıcının bu yere Yaz seçeneğine uygulanan herhangi bir izni olmadığı için olabilir.

0

Başka bir nedeni, dosya yolunu yazdığınız yerde boş olduğundan, bu yüzden bulamadığı için olabilir. Bu hatanın meydana gelmesinin bir başka nedeni. Windows Server üzerinde bu çalışan IIS için

2

: Varsayılan olarak

, IIS kullanıcı wwwroot klasör için yazma izinleri yok. Bu, wwwroot için IIS_IUSRS kullanıcısına tam izin verilerek çözülebilir.

  1. Dosya Aç Explorer ve Sağ wwwroot tıklayın ve izinlerini düzenlemek için "Özellikler"
  2. git Güvenlik sekmesine ve "Edit ..." seçeneğini tıklayın C:/inetpub/
  3. gidin
  4. bulun ve IIS kullanıcısını seçin. Benim durumumda, IIS_IUSRS ([server name]\IIS_IUSRS) olarak adlandırıldı.
  5. Tüm izinler için "İzin Ver" onay kutusunu işaretleyin.
İlgili konular