授權的 deny 項目 (ASP.NET 設定結構描述)
將拒絕存取資源的授權規則,新增至授權規則的對應。
<deny
users="comma-separated list of users"
roles="comma-separated list of roles"
/>
屬性和項目
下列各節將說明屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
users |
必要的 String 屬性。 無法存取資源的使用者名稱逗號分隔清單。 問號 (?) 表示拒絕匿名使用者,星號 (*) 則表示拒絕所有使用者存取。 |
roles |
必要的 String 屬性。 無法存取資源的角色逗號分隔清單。 |
verbs |
選擇性 String 屬性。 可存取資源的 HTTP 傳輸方法逗號分隔清單。 在 ASP.NET 已註冊的動詞命令為 GET、HEAD、POST 和 DEBUG。 |
子項目
無。
父項目
項目 |
描述 |
---|---|
configuration |
指定 Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中需要的根項目 (Root Element)。 |
system.web |
指定組態檔中 ASP.NET 組態設定的根項目 (Root Element),並包含會設定 ASP.NET Web 應用程式以及控制這些應用程式之行為的組態項目。 |
authorization |
設定 Web 應用程式的授權。 authorization 項目控制用戶端存取 URL 資源。 可在任何層級 (電腦、網站、應用程式、子目錄或頁面) 宣告這個項目。 |
備註
deny 項目將授權規則新增至儲存在 authorization 項目中的授權規則對應,以拒絕存取資源。
authorization 項目設定 Web 應用程式的授權,以控制對於 URL 資源的用戶端存取。 就必要的屬性而言,您可以使用 users 或 roles 屬性,或是同時使用兩者。
這個授權模組會在執行階段,從本機組態檔逐一查看 allow 和 deny 項目,直到找出符合某位特定使用者的第一項存取規則為止。 然後,授權模組會根據第一個發現的存取規則是 allow 或 deny 規則,而授與或拒絕對 URL 資源的存取。 預設授權規則是 <allow users="*"/>。 因此,根據預設會允許存取,除非有另外設定。
為了加速部署,因此可支援目前電腦的句點 (.) 捷徑標記法。 這樣可讓您為每個使用者或角色加上句號和反斜線的前置詞序列 (.\),如下所示:
<allow roles=".\roleName"/>
<allow users=".\userName"/>
在執行階段,這種句號和反斜線 (.\) 的序列便會由 "localmachinename\" 序列所替代。 只有在要求中搭配使用 Windows 識別 (Identity) 時,才會執行這項替代作業。 這是為了避免在任意角色將句號和反斜線 (.\) 序列與自訂原則搭配使用時產生衝突。
由於 authorization 項目並不表示為一個集合,所以也就不會有 clear 或 remove 子項目。 若要清除授權規則的對應,請使用 AuthorizationRuleCollection 類別所定義的 Clear 和 Remove 方法。
範例
下列程式碼範例示範如何允許存取 Admins 角色的所有成員,並拒絕存取所有其他使用者帳戶。
<configuration>
<system.web>
<authorization>
<allow roles="admins"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
項目資訊
組態區段處理常式 |
|
組態成員 |
|
可設定的位置 |
Machine.config 根層次的 Web.config 應用程式層級的 Web.config 虛擬或實體目錄層級的 Web.config |
需求 |
Microsoft Internet Information Services (IIS) 5.0、5.1 或 6.0 版 .NET Framework 1.0、1.1 或 2.0 版 Microsoft Visual Studio 2003 或 Visual Studio 2005 |
請參閱
工作
參考
authorization 項目 (ASP.NET 設定結構描述)
system.web 項目 (ASP.NET 設定結構描述)