authorization 項目 (ASP.NET 設定結構描述)
設定 Web 應用程式的授權,控制對於 URL 資源的用戶端存取。
<authorization>
<allow .../>
<deny .../>
</authorization>
屬性和項目
下列各節將說明屬性、子項目和父項目。
屬性
無。
子項目
子標記 |
描述 |
---|---|
allow |
將允許存取資源的授權規則,新增至授權規則的對應。 |
deny |
將拒絕存取資源的授權規則,新增至授權規則的對應。 |
父項目
項目 |
描述 |
---|---|
configuration |
指定 Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中需要的根項目 (Root Element)。 |
system.web |
指定組態檔中 ASP.NET 組態設定的根項目 (Root Element),並包含會設定 ASP.NET Web 應用程式以及控制這些應用程式之行為的組態項目。 |
備註
authorization 項目設定 Web 應用程式的授權,控制對於 URL 資源的用戶端存取。
這個授權模組會在執行階段,從本機組態檔逐一查看 allow 和 deny 項目,直到找出符合某位特定使用者的第一項存取規則為止。 然後,授權模組會根據第一個發現的存取規則是 allow 或 deny 規則,而授與或拒絕對 URL 資源的存取。 預設授權規則是 <allow users="*"/>。 因此,根據預設會允許存取,除非有另外設定。
為了加速部署,因此可支援目前電腦的句點 (.) 捷徑標記法。 這樣可讓您為每個使用者或角色加上句號和反斜線的前置詞序列 (.\),如下所示:
<allow roles=".\roleName"/>
<allow users=".\userName"/>
在執行階段,這種句號和反斜線的序列便會由 "localmachinename\" 的序列所替代。 只有在要求中搭配使用 Microsoft Windows 識別 (Identity) 時,才會執行這項替代作業。 這是為了避免在任意角色將句號和反斜線序列與自訂原則搭配使用時產生衝突。
由於 authorization 項目並不表示為一個集合,所以也就不會有 clear 或 remove 子項目。 若要以程式設計的方式清除授權規則的對應,請使用 Clear() 或 Remove(AuthorizationRule) 方法。
預設的組態
下列預設 authorization 項目的設定,會在 .NET Framework 2.0 版中的根 Web.config 檔,以及 .NET Framework 1.1 和 1.0 版中的 Machine.config 檔中進行。
<authorization>
<allow users="*" />
</authorization>
範例
下列程式碼範例示範如何允許存取 Admins 角色的所有成員,並拒絕存取所有的 users 角色成員。
<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 |
請參閱
工作
參考
system.web 項目 (ASP.NET 設定結構描述)