StrongNameIdentityPermission 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
Code Access Security is not supported or honored by the runtime.
定義強式名稱的識別權限。 此類別無法獲得繼承。
public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
[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 StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
[<System.Serializable>]
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
- 繼承
- 屬性
備註
警告
程式代碼啟用安全性 (CAS) 已在所有版本的 .NET Framework 和 .NET 中已被取代。 最新版本的 .NET 不接受 CAS 批注,並在使用 CAS 相關 API 時產生錯誤。 開發人員應尋求替代方案來完成安全性工作。
重要
從 .NET Framework 4 開始,不會使用身分識別許可權。
在 .NET Framework 1.0 和 1.1 版中,身分識別許可權不能有Unrestricted許可權狀態值。 在 .NET Framework 2.0 版和更新版本中,身分識別許可權可以具有任何許可權狀態值。 這表示在 2.0 版和更新版本中,身分識別許可權的行為與實作 IUnrestrictedPermission 介面的許可權相同。 也就是說,如果元件已獲得完全信任,不論元件的身分識別為何,身分識別的需求一律會成功。
使用 StrongNameIdentityPermission 來確認呼叫程式代碼位於特定的強名稱程式代碼元件中。 只有在堆疊中的所有元件都有正確的辨識項來滿足需求時,才會成功的完整要求 StrongNameIdentityPermission 。 只有在立即呼叫端具有正確的辨識項時,才會要求使用 StrongNameIdentityPermissionAttribute 屬性成功的連結要求。
強名稱識別是以稱為二進位大型對象的密碼編譯公鑰為基礎, (BLOB) ,選擇性地結合特定元件的名稱和版本。 密鑰會定義唯一的命名空間,並提供名稱正版的強式驗證,因為名稱的定義必須位於由對應私鑰簽署的元件中。
請注意,強名稱密鑰的有效性不相依於信任關係,或任何憑證一定會發行給密鑰。
在 .NET Framework 1.0 和 1.1 版中,即使呼叫元件完全受信任,對身分識別許可權的要求仍有效。 也就是說,即使呼叫元件具有完全信任,如果元件不符合要求的準則,身分識別許可權的需求也會失敗。 在 .NET Framework 2.0 版和更新版本中,如果呼叫元件具有完全信任,則身分識別許可權的要求無效。 這可確保所有許可權的一致性,並消除將身分識別許可權視為特殊案例的處理方式。
如需強名稱的完整描述,請參閱 StrongName 參考頁面。 如需強名稱元件的詳細資訊,請參閱 強名稱元件。
類別 StrongNameIdentityPermission 是用來定義存取型別公用成員的強名稱需求。 屬性 StrongNameIdentityPermissionAttribute 可用來在元件層級定義強名稱需求。 在 .NET Framework 2.0 版和更新版本中,您也可以使用 InternalsVisibleToAttribute 屬性來指定該元件中的所有非公用類型都可供另一個元件看見。 如需詳細資訊,請參閱 Friend元件。
建構函式
StrongNameIdentityPermission(PermissionState) |
已淘汰.
使用指定的 StrongNameIdentityPermission 初始化 PermissionState 類別的新執行個體。 |
StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version) |
已淘汰.
為指定的強式名稱識別初始化 StrongNameIdentityPermission 類別的新執行個體。 |
屬性
Name |
已淘汰.
取得或設定強式名稱身分識別的簡單名稱部分。 |
PublicKey |
已淘汰.
取得或設定定義強式名稱識別命名空間的公開金鑰 Blob。 |
Version |
已淘汰.
取得或設定身分識別的版本號碼。 |
方法
Assert() |
已淘汰.
宣告即使堆疊中較高層的呼叫端未獲得資源存取權限,呼叫程式碼仍可透過呼叫這個方法的程式碼要求權限,來存取受保護的資源。 使用 Assert() 會造成安全性問題。 (繼承來源 CodeAccessPermission) |
Copy() |
已淘汰.
建立並傳回目前權限的相同複本。 |
Demand() |
已淘汰.
如果在呼叫堆疊中較高的所有呼叫端都尚未被授與由目前執行個體所指定之權限,則會在執行階段強制執行 SecurityException。 (繼承來源 CodeAccessPermission) |
Deny() |
已淘汰.
已淘汰.
防止呼叫堆疊中較高的呼叫端,使用程式碼呼叫此方法來存取目前執行個體所指定的資源。 (繼承來源 CodeAccessPermission) |
Equals(Object) |
已淘汰.
判斷指定的 CodeAccessPermission 物件是否等於目前的 CodeAccessPermission。 (繼承來源 CodeAccessPermission) |
FromXml(SecurityElement) |
已淘汰.
透過 XML 編碼,重新建構具有指定狀態的權限。 |
GetHashCode() |
已淘汰.
取得 CodeAccessPermission 物件的雜湊碼,其適合用於雜湊表這類的雜湊演算法和資料結構。 (繼承來源 CodeAccessPermission) |
GetType() |
已淘汰.
取得目前執行個體的 Type。 (繼承來源 Object) |
Intersect(IPermission) |
已淘汰.
建立並傳回目前權限與指定權限交集的權限。 |
IsSubsetOf(IPermission) |
已淘汰.
判斷目前權限是否為指定權限的子集。 |
MemberwiseClone() |
已淘汰.
建立目前 Object 的淺層複製。 (繼承來源 Object) |
PermitOnly() |
已淘汰.
防止呼叫堆疊中較高的呼叫端,使用程式碼呼叫此方法來存取目前執行個體所指定之資源以外的所有資源。 (繼承來源 CodeAccessPermission) |
ToString() |
已淘汰.
建立並傳回目前權限物件的字串表示。 (繼承來源 CodeAccessPermission) |
ToXml() |
已淘汰.
建立權限和其目前狀態的 XML 編碼方式。 |
Union(IPermission) |
已淘汰.
建立目前權限與指定權限聯集的權限。 |