Share via


PrincipalPermission 物件

以角色為基礎的安全性模型支援使用權限物件,其類似於在程式碼存取安全性模型中的使用權限物件。 PrincipalPermission 這個物件代表特定主體類別執行時所必須擁有的識別和角色。 您可以將 PrincipalPermission 類別使用於命令式和宣告式兩種安全性檢查。

要命令式地實作 PrincipalPermission 類別,請建立類別的新執行個體,並以您想要使用者擁有以存取程式碼的名稱和角色來將它初始化。 例如,下列程式碼用 "Joan" 的識別和 "Teller" 的角色,初始化這個物件的新執行個體。

String id = "Joan";
String role = "Teller";
PrincipalPermission principalPerm = new PrincipalPermission(id, role);
Dim id As String = "Joan"
Dim role As String = "Teller"
Dim principalPerm As New PrincipalPermission(id, role)

您可以使用 PrincipalPermissionAttribute 類別,以宣告方式建立類似的使用權限。 下列程式碼宣告式地將識別初始化為 "Joan" 和將角色初始化為 "Teller"。

[PrincipalPermissionAttribute(SecurityAction.Demand, Name = "Joan", Role = "Teller")]
<PrincipalPermissionAttribute(SecurityAction.Demand, Name := "Joan", Role := "Teller")>

安全性檢查執行後,指定的識別和角色都必須符合以使檢查成功。 然而,當您建立 PrincipalPermission 物件時,您可以傳遞 Null 識別字串來指示主體的識別可為任何值。 同樣地,傳遞 Null 角色字串指示主體可為任何角色 (或根本沒有角色) 的成員。 對於宣告式安全性,省略任一個屬性可以得到相同結果。 例如,下列程式碼使用 PrincipalPermissionAttribute 宣告式地指示主體可以有任何名稱,但必須有 Teller 的角色。

[PrincipalPermissionAttribute(SecurityAction.Demand, Role = "Teller")]
<PrincipalPermissionAttribute(SecurityAction.Demand, Role := "Teller")>

請參閱

參考

PrincipalPermission

PrincipalPermissionAttribute

概念

以角色為基礎的安全性

其他資源

重要的安全性概念