Tôi có phần này trong web.config:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
IIS7 gặp sự cố và phàn nàn về phần tự động:
Mô-đun nặc danhAuthenticationModule
Thông báo xác
thựcRequest Handler
Mã lỗi tĩnh 0x80070021
Lỗi cấu hình Phần cấu hình này không thể được sử dụng tại đường dẫn này. Điều này xảy ra khi phần bị khóa ở cấp độ cha. Khóa theo mặc định (overrideModeDefault = "Deny") hoặc được đặt rõ ràng bằng thẻ vị trí với overrideMode = "Deny" hoặc legacy allowOverride = "false".
Config Source
69: <authentication>
70: <anonymousAuthentication enabled="true" />
Vì vậy, cách thông thường để giải quyết điều này là đi vào %windir%\system32\inetsrv\config\applicationHost.config
và mở khóa phần:
<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>
(cách khác, appcmd unlock config
).
Điều kỳ lạ: Tôi đã làm điều đó và nó vẫn phàn nàn.
Tôi đã tìm Địa điểm (MVC là tên trang web của tôi, đó là gốc của tất cả các trang web tôi đang sử dụng):
<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>
Vẫn là nó nổ tung. Tôi hoang mang không biết tại sao điều này lại xảy ra. Tôi không thể xóa nó khỏi web.config, tôi muốn tìm vấn đề gốc.
Có cách nào để có được thông tin cụ thể từ IIS mà quy tắc cuối cùng đang từ chối tôi không?
Chỉnh sửa: Tôi đã có thể khắc phục điều này bằng cách sử dụng bảng điều khiển quản lý IIS7 bằng cách vào chính root (máy của tôi) và nhấp vào "Chỉnh sửa cấu hình" và mở khóa phần ở đó. Vẫn muốn biết liệu có cách nào tốt hơn không vì tôi không thể tìm thấy tệp mà nó thực sự sửa đổi.