首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET 靜態 HTML 檔案驗證授權完整設定指南

     編輯:ASP.NET 基礎

問題根源

ASP.NET 表單驗證預設僅管制 .aspx 等動態頁面,靜態檔案由 IIS 直接處理,繞過 ASP.NET 管線,導致授權規則失效。

解決方案:IIS + web.config 雙重設定

步驟 1:IIS 對應靜態副檔名至 ASP.NET

  1. 開啟 IIS → 應用程式右鍵「屬性」→「虛擬目錄」→「設定」
  2. 「對應」頁籤 → 「新增」→ 可執行檔指向 aspnet_isapi.dll,副檔名輸入 .htm,取消「驗證檔案是否存在」

步驟 2:web.config 註冊 HttpHandler 與 BuildProvider

<system.web>
    <httpHandlers>
        <add verb="*" path="*.htm" type="System.Web.UI.PageHandlerFactory" />
    </httpHandlers>
    <compilation>
        <buildProviders>
            <add extension=".htm" type="System.Web.Compilation.PageBuildProvider" />
        </buildProviders>
    </compilation>
</system.web>

步驟 3:授權規則設定

<location path="SecureFolder">
    <system.web>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
</location>

IIS 7+ 整合模式簡化設定

將應用程式集區設為 Integrated 模式,靜態檔案即會經過 ASP.NET 管線,僅需在 system.webServer/handlers 註冊即可,無需設定 ISAPI 對應。

實務建議

若無特殊需求,建議直接將 .htm 改為 .aspx,部署無額外設定,維護成本最低。

完整設定後,靜態 HTML 將受 ASP.NET 驗證管制,未登入用戶將導向登入頁。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved