以角色為基礎的安全性

角色通常用在財務和商務應用程式以強制執行原則 (Policy)。 例如,應用程式可能對處理中的交易大小強加限制,取決於提出要求的使用者是否為指定角色的成員。 職員可能擁有處理低於臨界值的交易的授權,監督員可能有較寬的限制,而副總裁則可能有更為寬鬆的限制 (或完全沒有限制)。 當應用程式需要多重許可來完成動作時,也可以使用以角色為基礎的安全性。 這類案例可能是採購系統,任何員工都可以在其中要求購買,但只有採購人員能夠將要求轉換成採購訂單送至供應商。

.NET Framework 以角色為基礎的安全性以產生有關主體 (從目前執行緒使用的相關識別所建構) 的資訊來支援授權。 識別 (和有助於定義的主體) 可以是以 Windows 帳戶為根據,或者是與 Windows 帳戶無關的自訂識別。 .NET Framework 應用程式可以根據主體的識別、角色成員資格或兩者,來產生授權決策。 角色是在安全性 (例如出納員或經理) 方面具有相同特權之主體的具名集合。 主體可以是一個或多個角色的成員。 因此,應用程式可以使用角色成員資格來判斷是否授權給主體,以執行要求的動作。

為了提供使用的便利性和程式碼存取 (Code Access) 安全性的一致,.NET Framework 以角色為基礎的安全性提供 System.Security.Permissions.PrincipalPermission 物件以允許 Common Language Runtime 用類似程式碼存取安全性檢查的方式來進行授權。 PrincipalPermission 類別代表主體必須符合的識別或角色,並且與宣告式和命令式安全性檢查兩者相容。 您也可直接存取主體的識別資訊,並在需要時以您的程式碼執行角色和識別檢查。

.NET Framework 提供有彈性且可延伸之以角色為基礎的安全性支援,足以應付各種不同應用程式的需要。 您可以選擇與現有的驗證 (Authentication) 基礎結構 (例如 COM+ 1.0 服務) 互通,或建立自訂的驗證系統。 以角色為基礎的安全性特別適用於 ASP.NET Web 應用程式,其主要在伺服器上進行處理。 然而,.NET Framework 以角色為基礎的安全性可以用在用戶端或伺服器兩者之一。

閱讀本章節內容之前,請確定您了解重要的安全性概念中所提供的資料。

相關主題

標題

說明

Principal 和 Identity 物件

說明如何設定和管理 Windows 和泛用的識別和主體。

PrincipalPermission 物件

描述如何宣告式地和命令式地實作使用權限物件。

以角色為基礎的安全性檢查

描述如何宣告式地、命令式地或直接地存取主體物件來實作安全性檢查。

與 COM+ 1.0 安全性的互通

提供 COM+ 1.0 安全性如何與 .NET Framework 互通的概觀。

重要的安全性概念

介紹使用 .NET Framework 安全性之前您必須了解的基本概念。

安全性工具 (.NET Framework)

列出並簡要描述包含在 .NET Framework 中的安全性工具。

參考資料

System.Security.Permissions.PrincipalPermission