限制特定用戶無法存取指定的 Web 資源

本文說明如何限制特定使用者取得指定 Web 資源存取權的方法。

原始產品版本: ASP.NET
原始 KB 編號: 815151

摘要

以 ASP.NET 為基礎的 Web 應用程式提供許多方式讓使用者獲得驗證和授權,以取得資源的存取權。 視您使用的驗證方法而定,限制資源存取的方式會有所不同。 例如,針對您使用 Microsoft Windows 驗證 並啟用仿真的應用程式,您可以使用新技術檔案系統 (NTFS) 檔案許可權進行存取控制。 不過,對於使用窗體驗證的應用程式,您必須修改 Web.config 檔案以限制存取。 本文說明如何控制這兩種 ASP.NET 驗證方法的授權。

使用檔案許可權控制授權

針對 ASP.NET 使用 Windows 驗證 並啟用仿真的 Web 應用程式,您可以使用標準 NTFS 檔案許可權來要求驗證,以及限制對檔案和資料夾的存取:

  • 若要要求驗證,請移除檔案或資料夾的 ASPNET 使用者帳戶訪問許可權。
  • 若要限制對特定 Windows 使用者帳戶或組帳戶的存取,請授與或拒絕檔案或資料夾的讀取 NTFS 檔案許可權。

修改 Web.config 檔案來控制授權

若要限制存取 ASP.NET 使用窗體驗證的應用程式,請編輯 <authorization> 應用程式 Web.config 檔中的專案。 如果要執行這項操作,請依照下列步驟執行:

  1. 啟動文字編輯器,例如記事本,然後開啟位於應用程式根資料夾中的 Web.config 檔案。

    注意事項

    如果 Web.config 檔案不存在,請為 ASP.NET 應用程式建立Web.config檔案。

  2. 如果您想要控制整個應用程式的授權,請將組態專案新 <authorization> 增至 <system.web>Web.config 檔中的 元素。

  3. 在 元素中 <authorization> ,新增組 <allow> 態專案和 <deny> 組態專案。 users使用屬性來指定以逗號分隔的用戶名稱清單。 您可以使用問號 (?) 作為符合任何使用者名稱的通配符。 例如,下列程式代碼會拒絕存取 和 user2以外的user1所有使用者:

    <authorization>
        <allow users="user1, user2"/>
        <deny users="?"/>
    </authorization>
    
  4. 儲存 Web.config 檔。

參考資料