共用方式為


以角色為基礎的安全性簡介

更新:2007 年 11 月

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

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

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

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

請參閱

參考

PrincipalPermission

其他資源

以角色為基礎的安全性

重要的安全性概念