ASP.NET IIS Dizinlerine Erişim Reddedildi

Bu teknik inceleme, ASP.NET uygulamanıza yönelik bir istek " DirectoryName dizinine Erişim Reddedildi" hatasını döndürürse yapmanız gerekenleri açıklar. Dizin değişikliklerini izleme başlatılamadı."

ASP.NET 1.0 ve ASP.NET 1.1 için geçerlidir.

ASP.NET V1 RTM artık yerel makinede "ASPNET" hesabı olarak kaydedilen daha az ayrıcalıklı bir Windows hesabı kullanılarak çalışıyor.

Bazı kilitli sistemlerde, bu hesabın varsayılan olarak bir web sitesinin içerik dizinlerine, uygulama kök dizinine veya web sitesi kök dizinine okuma güvenliği erişimi olmayabilir. Bu durumda, belirli bir web uygulamasından sayfa istediğinizde aşağıdaki hatayı alırsınız:

Erişim reddedildi başlıklı bir hata sayfasının tarayıcı görünümünün ekran görüntüsü.

Bunu düzeltmek için uygun dizinlerdeki güvenlik izinlerini değiştirmeniz gerekir.

Özellikle ASP.NET, yapılandırma dosyası değişikliklerini izlemek için web sitesi kökü (örneğin: c:\inetpub\wwwroot veya IIS'de yapılandırmış olabileceğiniz herhangi bir alternatif site dizini), içerik dizini ve uygulama kök dizini için ASPNET hesabı için okuma, yürütme ve liste erişimi gerektirir. Uygulama kökü, IIS Yönetim aracındaki (inetmgr) uygulama sanal diziniyle ilişkili klasör yoluna karşılık gelir.

Örneğin, wwwroot klasörünün altında aşağıdaki uygulama hiyerarşisini göz önünde bulundurun.

C:\inetpub\wwwroot\myapp\default.aspx

Bu örnekte ASPNET hesabı, hem myapp hem de wwwroot dizinindeki içerik için yukarıda tanımlanan okuma izinlerine ihtiyaç duyar. Kök klasördeki tek bir devralınan ACL, iç içe yerleştirilmişse isteğe bağlı olarak her iki dizin için de kullanılabilir.

Dizine izin eklemek için aşağıdaki adımları gerçekleştirin:

  • Windows gezginini kullanarak dizinine gidin
  • Dizin klasörüne sağ tıklayın ve "Özellikler"i seçin
  • Özellik iletişim kutusundaki "Güvenlik" sekmesine gidin
  • "Ekle" düğmesine tıklayın ve makine adını ve ardından ASPNET hesap adını girin. Örneğin, "webdev" adlı bir makinede webdev\ASPNET girip "Tamam" tuşuna basabilirsiniz.
  • ASPNET hesabında "Read & Execute", "List Folder Contents" ve "Read" onay kutularının işaretli olduğundan emin olun.
  • İletişim kutusunu kapatmak ve değişiklikleri kaydetmek için Tamam'a basın.

Özellik iletişim kutusunun ekran görüntüsü. O K seçilidir.

İstenirse, bu değişiklikler betikler veya Windows ile birlikte gelen "cacls.exe" aracı kullanılarak otomatikleştirilebilir. ASPNET hesabı hakkında daha fazla bilgi için lütfen SSS belgesine bakın.

Belirli bir web uygulaması belirli bir klasör veya dosya üzerinde yazma veya değiştirme izinlerine sahip olmaya bağlıysa, bu izinler aynı yordam izlenerek ve "Yaz" ve/veya "Değiştir" onay kutuları denetlenerek verilebilir.

Herkes veya Kullanıcılar grubunun bu dizinlere okuma erişimine izin veren makinelerde (varsayılan yapılandırmadır), hiçbir sorunla karşılaşılmaz ve yukarıdaki adımlar gerekli olmaz.