Bir dizinde "401 Yetkisiz"


87

Projeyi yerel makinemde çalıştırırsam bu gerçekleşmeyeceği için bunun bir IIS hatası olduğunu varsayıyorum.

Stil sayfalarım var ~/Content/css

Bu dizindeki herhangi bir dosya sayfaya yüklenmez ve doğrudan onlara gittiğimde bir sunucu hatası alıyorum:

401 - Yetkisiz: Geçersiz kimlik bilgileri nedeniyle erişim reddedildi.

Bu dizini veya sayfayı sağladığınız kimlik bilgilerini kullanarak görüntüleme izniniz yok.

Bu sadece o dizinde oluyor, diğer dosyalara erişmekte sorun yaşamıyorum. Bunu durdurmak için IIS7'de yapmam gereken bir şey var mı?

Yanıtlar:


47

Bu klasörde IUSR_ bilgisayar adı iznine sahip olmamanız olasıdır . Az önce hızlı bir tarama yaptım ve ihtiyacınız olan bilgiyi burada bulacağınız görülüyor .

Durum bu değilse, tarayıcı tarafından kullanıcı adınız ve şifreniz isteniyor mu? Öyleyse, IIS, burada açıklandığı gibi yalnızca Tümleşik kimlik doğrulamasını kullanacak şekilde yapılandırılmış olabilir .


4
Db / dosya sistemi erişiminizi yönetmek için bir uygulama havuzu kullanıyorsanız, bunu yapmayın. Aşağıdaki imanabidi'nin cevabını görmek için okumaya devam edin.
Ryan Shillington

teşekkürler, benim durumumda herkesi tam kontrolle
ekledim

8
support.microsoft.com/kb/313075 - Bu sayfa artık mevcut değil. @ m.edmondson
Divya

296
  1. IIS'yi açın ve 401'e neden olan siteyi seçin
  2. IIS Başlığında Kimlik Doğrulama özelliğini seçin
  3. Anonim Kimlik Doğrulamayı Seçin
  4. Üzerine sağ tıklayın, Düzenle'yi seçin ve Uygulama havuzu kimliğini seçin.
  5. Siteyi yeniden başlatın ve çalışmalıdır

13
Çalışıyor ama neden? Biraz daha açıklayabilir misin?
nthapa

2
Bu işe yarıyor gibi görünüyor, çünkü anonim kimlik doğrulama için varsayılan olarak "belirli kullanıcı", kabul edilen yanıtta belirtildiği gibi IUSR'dir. Ancak, uygulama havuzunda ayarlanan kimlik , web sitesinin tamamı için izinlere sahip olmalıdır , aksi takdirde site yüklenmez. Dolayısıyla, IUSR hesabımın erişimi olmasa da (aslında mevcut görünmüyor), uygulama havuzunun kullandığı hesap yok.
Johann

6
Bu işe yarıyor, ancak kafa karıştırıcı olan şey, yaklaşık 2 yıl boyunca gayet iyi çalışıyor olması ve sonra bugün bilinen bir sebep olmadan çalışmayı durdurması ... çözümünüz onu düzeltti.
Serj Sagan

Bu problem için saatler harcadım ve bunu bulana kadar şansım olmadı! Yayınlama modunda yayınlanan ve ardından siteyi Chrome'a ​​yükleyen bir MVC 5 Web uygulamam vardı, içerik yükleniyordu ancak stiller yüklenmiyordu. Bağlantılar oradadır ve doğru olan yollar, ancak hepsi boştur! Bu düzeltme sorunumu çözdü.
GIVE-ME-CHICKEN

benim durumumda, uygulama oluşturulduğunda varsayılan olarak devre dışı bırakıldığı için Anonim kimlik doğrulamasını etkinleştirmem gerekiyordu
Paul

16
  • IIS'yi
  • sorunla karşılaştığınız siteyi seçin

  • Aşağıyı Seçin

görüntü açıklamasını buraya girin

- Anonim Kimlik Doğrulama'ya sağ tıklayın ve düzenle'ye tıklayın ve aşağıdan takip edin

görüntü açıklamasını buraya girin


6

Bu dizini veya sayfayı sağladığınız kimlik bilgilerini kullanarak görüntüleme izniniz yok.

Bu, kullanıcının kimliğinin Active Directory aracılığıyla zaten doğrulanmış olmasına rağmen gerçekleşti.

Erişim Engellendi hatasının birçok nedeni olabilir, ancak web uygulamanızdan her şeyi zaten doğru şekilde yapılandırdığınızı düşünüyorsanız, unutulmuş küçük bir ayrıntı olabilir. Kimliği Doğrulanan Kullanıcılara web uygulaması dizininize erişmeleri için uygun izni verdiğinizden emin olun .

İşte bu sorunu çözmek için attığım adımlar.

  1. Web uygulamasının depolandığı dizine sağ tıklayın ve Özellikler'i seçin ve Güvenlik sekmesine tıklayın.

  2. Düzenle… ve ardından Ekle… düğmesini tıklayın. Seçilecek nesne adlarını girin. Ve ardından Ekle düğmesine Kimliği Doğrulanan Kullanıcılar yazın . Seçilecek nesne adlarını girin alanına Kimliği Doğrulanan Kullanıcılar yazın.

  3. Click OK ve kullanıcı adları biri olarak Authenticated Users görmelisiniz. Henüz işaretlenmediyse, alt uçtaki Kimliği Doğrulanmış Kullanıcılar için İzinler kutusuna uygun izinleri verin .

  4. İletişim kutusunu kapatmak için Tamam'ı iki kez tıklayın . Hemen etkili olması gerekir, ancak emin olmak istiyorsanız, web uygulamanız için IIS'yi yeniden başlatabilirsiniz.

Tarayıcınızı yenileyin ve şimdi web sayfasını görüntülemelidir.

Bu yardımcı olur umarım!


3

Sunucunuzdaki klasör izinlerini kontrol etmeniz ve uygulamanızı çalıştırmak için kullandığınız hesabın bu klasöre erişimi olup olmadığını kontrol etmeniz gerekir.


0

Benim için Anonim Kullanıcı erişimi sunucu düzeyinde gayet iyiydi, ancak "sanal" klasörlerimden yalnızca birinde değişiklik gösteriyordu.

IIS'nin sanal klasör düzeyinde de "kimlik doğrulama" ayarlarına sahip olduğunu öğrenmem için bana biraz kuruculuk yaptıktan sonra bir meslektaşımdan biraz yardım aldı - umarım bu, benim çıkmazımda başka birine yardımcı olur.


0

Bizim durumumuzda bu, uygulamanın web.config

ANCAK windows-auth modülü IIS makinesine hiç yüklenmedi.

Sadece başka bir olası neden eklemek.


-4

Bulduğum diğer bir basit düzeltme, yerel IIS sitesini (IIS Yöneticisi içinden) silmek ve ardından Visual Studio'daki web projenizin "Özellikler" bölümünden sanal dizini yeniden oluşturmaktı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.