ฉันมีส่วนนี้ในเว็บของฉัน config:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
IIS7 ขัดข้องและบ่นเกี่ยวกับส่วน autientication:
Module AnonymousAuthenticationModule
Notification AuthenticateRequest
Handler StaticFile
Error Code 0x80070021
ข้อผิดพลาดในการกำหนดค่าส่วนการกำหนดค่านี้ไม่สามารถใช้ที่พา ธ นี้ สิ่งนี้เกิดขึ้นเมื่อส่วนถูกล็อคในระดับผู้ปกครอง การล็อคเป็นค่าเริ่มต้น (overrideModeDefault = "Deny") หรือตั้งค่าอย่างชัดเจนโดยแท็กตำแหน่งที่มี overrideMode = "Deny" หรือ Legacy allowOverride = "false"
Config Source
69: <authentication>
70: <anonymousAuthentication enabled="true" />
ดังนั้นวิธีปกติในการแก้ปัญหานี้ก็คือเข้าไป%windir%\system32\inetsrv\config\applicationHost.config
และปลดล็อคหัวข้อ:
<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>
(อีกวิธีหนึ่งappcmd unlock config
)
สิ่งประหลาด: ฉันทำไปแล้วและมันก็ยังบ่นอยู่
ฉันค้นหาสถานที่ (MVC เป็นชื่อของเว็บไซต์ของฉันที่เป็นรากฐานของเว็บไซต์ทั้งหมดที่ฉันใช้):
<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>
มันยังคงระเบิด ฉันงงว่าทำไมมันถึงเกิดขึ้น ฉันไม่สามารถลบออกจาก web.config ฉันต้องการค้นหาปัญหาราก
มีวิธีรับข้อมูลเฉพาะจาก IIS ซึ่งในที่สุดกฎก็ปฏิเสธฉันหรือไม่
แก้ไข:ฉันสามารถแก้ไขปัญหานี้ได้โดยใช้คอนโซลการจัดการ IIS7 โดยไปที่รูท (เครื่องของฉัน) แล้วคลิก "แก้ไขการกำหนดค่า" และปลดล็อคส่วนที่นั่น ยังคงฉันอยากจะรู้ว่ามีวิธีที่ดีกว่าเพราะฉันไม่สามารถหาไฟล์มันแก้ไขได้จริง