語言

StrongNameIdentityPermission 類別

定義

警告

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
繼承
StrongNameIdentityPermission
屬性

備註

注意事項

.NET Framework 和 .NET 的所有版本中,代碼存取安全性(CAS)已被棄用。 最新版本的 .NET 不會接受 CAS 註釋,如果使用 CAS 相關 API,則會產生錯誤。 開發人員應尋求其他方法來完成安全任務。

Important

從 .NET Framework 4 開始,不再使用身份權限。

在 .NET Framework 1.0 與 1.1 版本中,身份權限不得為 Unrestricted 權限狀態值。 在 .NET Framework 2.0 及之後版本中,身份權限可以是任意權限狀態值。 這表示在 2.0 版本及之後版本中,身份權限的行為與實作介面 IUnrestrictedPermission 的權限相同。 也就是說,只要賦予集合完全信任,無論集合的身份為何,要求同一性必然成功。

用 StrongNameIdentityPermission 來確認呼叫的程式碼是否存在於特定強命名的程式碼組合中。 只有當堆疊中所有組件都有正確的證據以滿足要求時,完整的要求 StrongNameIdentityPermission 才會成功。 Link 要求只有當即時呼叫者擁有正確的證據時,才會成功使用該 StrongNameIdentityPermissionAttribute 屬性。

強名稱身份是基於一種稱為二進位大型物件(BLOB)的密碼學公開金鑰,該公開金鑰可選擇性地與特定組合的名稱及版本結合。 該金鑰定義唯一命名空間,並提供強力驗證名稱的真實性,因為該名稱的定義必須存在於由對應私鑰簽署的組合語言中。

請注意,強名稱金鑰的有效性不依賴於信任關係或必須為該金鑰發出的任何憑證。

在 .NET Framework 1.0 與 1.1 版本中,即使呼叫組合完全信任,對身份權限的要求仍然有效。 也就是說,即使呼叫集合擁有完全信任,若集合體未符合要求條件,身份許可的要求也會失敗。 在 .NET Framework 2.0 及以後版本中,若呼叫組合擁有完全信任,則要求身份權限無效。 這確保所有權限的一致性,並消除身份權限作為特殊情況的處理。

欲了解強名的完整說明,請參閱 StrongName 參考文獻頁面。 欲了解更多強命名組裝的資訊,請參見 強命名組裝。

此 StrongNameIdentityPermission 類別用於定義存取某類型公有成員的強名稱要求。 屬性 StrongNameIdentityPermissionAttribute 可用於在組裝層級定義強名稱需求。 在 .NET Framework 2.0 及之後版本中,你也可以使用 InternalsVisibleToAttribute 屬性來指定該組裝中所有非公開型別對另一個組裝體可見。 如需詳細資訊,請參閱 朋友元件。

建構函式

名稱 Description
StrongNameIdentityPermission(PermissionState)
已淘汰.

使用指定的 StrongNameIdentityPermission,初始化 PermissionState 類別的新實例。

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
已淘汰.

初始化該類別的新實例 StrongNameIdentityPermission ,以指定強名稱身份。

屬性

名稱 Description
Name
已淘汰.

取得或設定強名稱身份中的簡單名稱部分。

PublicKey
已淘汰.

取得或設定定義強名稱身份命名空間的公鑰 blob。

Version
已淘汰.

取得或設定身份的版本號。

方法

名稱 Description
Assert()
已淘汰.

宣告呼叫程式碼可透過呼叫此方法的程式碼存取受權限要求保護的資源,即使堆疊中較高的呼叫者尚未獲得存取該資源的權限。 使用 Assert() 可能會造成安全問題。

(繼承來源 CodeAccessPermission)
Copy()
已淘汰.

建立並回傳與目前權限相同的副本。

Demand()
已淘汰.

若呼叫堆疊中所有較高的呼叫者尚未獲得當前實例指定的權限,則在執行時強制執行 a 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)
已淘汰.

建立一個權限,結合目前權限與指定權限。

適用於

另請參閱