Bu bölümü web.config dosyasında bulabilirsiniz:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
IIS7 çöküyor ve yetkilendirme bölümünden şikayetçi:
Modül AnonymousAuthenticationModule
Bildirim AuthenticateRequest
İşleyicisi StaticFile
Hata Kodu 0x80070021
Yapılandırma Hatası Bu yapılandırma bölümü bu yolda kullanılamaz. Bu, bölüm ebeveyn seviyesinde kilitlendiğinde gerçekleşir. Kilitleme varsayılan olarakdır (overrideModeDefault = "Deny") veya overrideMode = "Deny" veya legacy allowOverride = "false" olan bir konum etiketi tarafından açıkça ayarlanmış.
Config Source
69: <authentication>
70: <anonymousAuthentication enabled="true" />
Yani bunu çözmenin normal yolu %windir%\system32\inetsrv\config\applicationHost.config
, bölüme girmek ve bölümün kilidini açmaktır:
<sectionGroup name="system.webServer">
<sectionGroup name="security">
<section name="access" overrideModeDefault="Deny" />
<section name="applicationDependencies" overrideModeDefault="Deny" />
<sectionGroup name="authentication">
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<section name="basicAuthentication" overrideModeDefault="Allow" />
<section name="clientCertificateMappingAuthentication" overrideModeDefault="Allow" />
<section name="digestAuthentication" overrideModeDefault="Allow" />
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Allow" />
<section name="windowsAuthentication" overrideModeDefault="Allow" />
</sectionGroup>
(alternatif olarak appcmd unlock config
).
Tuhaf olan şey: Bunu yaptım ve hala şikayet ediyor.
Konumları aradım (MVC, kullandığım tüm sitelerin kökü olan web sitemin adıdır):
<location path="MVC" overrideMode="Allow">
<system.webServer overrideMode="Allow">
<security overrideMode="Allow">
<authentication overrideMode="Allow">
<windowsAuthentication enabled="true" />
<anonymousAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
Hala havaya uçtu. Bunun neden olduğu konusunda şaşkınım. Bunu web.config dosyasından çıkaramıyorum, kök problemini bulmak istiyorum.
IIS'den hangi kuralın sonunda beni reddettiği konusunda belirli bir bilgi edinmenin bir yolu var mı?
Düzenleme: Bunu, kök dizime (makinem) gidip "Yapılandırmayı Düzenle" yi tıklatarak ve oradaki bölümün kilidini açarak IIS7 yönetim konsolunu kullanarak çözebildim. Hala değiştirdiği dosyayı bulamadığım için daha iyi bir yol olup olmadığını bilmek istiyorum.