PrincipalPermission 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
Code Access Security is not supported or honored by the runtime.
允許使用針對宣告式與命令式安全動作所定義的語言結構,對主動主體進行檢查(見 IPrincipal)。 此類別無法獲得繼承。
public ref class PrincipalPermission sealed : System::Security::IPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
[<System.Serializable>]
type PrincipalPermission = class
interface IPermission
interface IUnrestrictedPermission
interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
interface IPermission
interface IUnrestrictedPermission
interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
Public NotInheritable Class PrincipalPermission
Implements IPermission, IUnrestrictedPermission
- 繼承
-
PrincipalPermission
- 屬性
- 實作
備註
注意事項
.NET Framework 和 .NET 的所有版本中,代碼存取安全性(CAS)已被棄用。 最新版本的 .NET 不會接受 CAS 註釋,如果使用 CAS 相關 API,則會產生錯誤。 開發人員應尋求其他方法來完成安全任務。
透過將身份資訊(使用者名稱與角色)傳遞給建構子, PrincipalPermission 可以用來要求主動主體的身份與此資訊相符。
要匹配主動 IPrincipal 與關聯 IIdentity,指定的身份與角色必須相符。 若 null 使用身份字串,則被解讀為請求匹配任意身份。 角色字串的使用 null 會匹配任何角色。 由此推移,傳遞 null 參數 或 namerole 可 PrincipalPermission 匹配任意 IPrincipal中的恆等式與角色。 也可以構造一個 PrincipalPermission 只判斷 代表 IIdentity 已認證或未認證實體的 。 在這種情況下, name 和 role 會被忽略。
與大多數其他權限不同,不會 PrincipalPermission 擴展 CodeAccessPermission。 不過,它確實實作了介面 IPermission 。 這是因為 PrincipalPermission 不是程式碼存取權限;也就是說,它並非根據執行組件的身份來授予。 相反地,它允許程式碼以符合程式碼存取及程式碼身份權限執行動作的方式,針對當前使用者身份執行動作(Demand、UnionIntersect等等)。
Important
在要求主體權限之前,必須將當前應用域的主要策略設定為列舉值 WindowsPrincipal。 預設情況下,主策略設定為 UnauthenticatedPrincipal。 若未將主體政策設為 WindowsPrincipal,主體許可申請將失敗。 在取得主權限前,應執行以下程式碼:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).
建構函式
| 名稱 | Description |
|---|---|
| PrincipalPermission(PermissionState) |
已淘汰.
使用指定的 PrincipalPermission,初始化 PermissionState 類別的新實例。 |
| PrincipalPermission(String, String, Boolean) |
已淘汰.
初始化該類別的新實例 PrincipalPermission ,以符合指定的 |
| PrincipalPermission(String, String) |
已淘汰.
初始化該類別的新實例 PrincipalPermission ,針對指定的 |
方法
| 名稱 | Description |
|---|---|
| Copy() |
已淘汰.
建立並回傳與目前權限相同的副本。 |
| Demand() |
已淘汰.
執行時判斷目前主體是否符合目前權限指定的主體。 |
| Equals(Object) |
已淘汰.
判斷指定的 PrincipalPermission 物件是否等於當前 PrincipalPermission的 。 |
| Equals(Object) |
已淘汰.
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| FromXml(SecurityElement) |
已淘汰.
從 XML 編碼中重建具有指定狀態的權限。 |
| GetHashCode() |
已淘汰.
取得適合用於雜湊演算法及資料結構(如雜湊表)的物件雜湊碼 PrincipalPermission 。 |
| GetHashCode() |
已淘汰.
做為預設哈希函式。 (繼承來源 Object) |
| GetType() |
已淘汰.
取得目前實例的 Type。 (繼承來源 Object) |
| Intersect(IPermission) |
已淘汰.
建立並回傳一個權限,該權限是目前權限與指定權限的交集。 |
| IsSubsetOf(IPermission) |
已淘汰.
判斷目前權限是否屬於指定權限的子集。 |
| IsUnrestricted() |
已淘汰.
回傳一個值,表示目前權限是否為無限制。 |
| MemberwiseClone() |
已淘汰.
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
已淘汰.
建立並回傳代表當前權限的字串。 |
| ToXml() |
已淘汰.
建立權限及其當前狀態的 XML 編碼。 |
| Union(IPermission) |
已淘汰.
建立一個權限,結合目前權限與指定權限。 |