StrongNameIdentityPermission クラス

定義

注意事項

Code Access Security is not supported or honored by the runtime.

厳密な名前の ID アクセス許可を定義します。 このクラスは継承できません。

public ref class StrongNameIdentityPermission sealed : 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}")]
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
type StrongNameIdentityPermission = class
    inherit 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
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
継承
StrongNameIdentityPermission
属性

注釈

注意事項

コード アクセス セキュリティ (CAS) は、.NET Framework と .NET のすべてのバージョンで非推奨になりました。 最近のバージョンの .NET では、CAS 関連の API が使われている場合、CAS の注釈は使われず、エラーが発生します。 開発者は、代わりの手段を見つけてセキュリティ タスクを実現する必要があります。

重要

.NET Framework 4 以降では、ID アクセス許可は使用されません。

.NET Framework バージョン 1.0 および 1.1 では、ID アクセス許可にアクセス許可の状態値をUnrestricted指定することはできません。 .NET Framework バージョン 2.0 以降では、ID アクセス許可に任意のアクセス許可の状態値を設定できます。 つまり、バージョン 2.0 以降のバージョンでは、ID アクセス許可は インターフェイスを実装するアクセス許可と同じ動作を IUnrestrictedPermission 持ちます。 つまり、アセンブリに完全な信頼が付与されている場合、アセンブリの ID に関係なく、ID の要求は常に成功します。

呼び出し元のコードが特定の厳密な名前付きコード アセンブリにあることを確認するには、 を使用 StrongNameIdentityPermission します。 スタック内のすべてのアセンブリが要求 StrongNameIdentityPermission を満たす正しい証拠を持っている場合にのみ、完全な要求は成功します。 属性を使用するリンク要求は、 StrongNameIdentityPermissionAttribute 直接呼び出し元が正しい証拠を持っている場合にのみ成功します。

厳密な名前 ID は、バイナリ ラージ オブジェクト (BLOB) と呼ばれる暗号化公開キーに基づいており、必要に応じて特定のアセンブリの名前とバージョンと組み合わされます。 キーは一意の名前空間を定義し、名前が本物であることを厳密に検証します。これは、名前の定義が、対応する秘密キーによって署名されたアセンブリ内にある必要があるためです。

厳密な名前キーの有効性は、信頼関係や、必ずしもキーに対して発行される証明書に依存しないことに注意してください。

.NET Framework バージョン 1.0 および 1.1 では、呼び出し元のアセンブリが完全に信頼されている場合でも、ID アクセス許可に対する要求が有効になります。 つまり、呼び出し元のアセンブリに完全な信頼がある場合でも、アセンブリが要求された条件を満たしていない場合、ID アクセス許可の要求は失敗します。 .NET Framework バージョン 2.0 以降では、呼び出し元のアセンブリに完全な信頼がある場合、ID アクセス許可の要求は無効です。 これにより、すべてのアクセス許可の一貫性が確保され、ID アクセス許可が特別なケースとして扱われなくなります。

厳密な名前の詳細については、リファレンス ページを StrongName 参照してください。 厳密な名前付きアセンブリの詳細については、「 厳密な名前付きアセンブリ」を参照してください。

クラスは StrongNameIdentityPermission 、型のパブリック メンバーにアクセスするための厳密な名前の要件を定義するために使用されます。 属性を StrongNameIdentityPermissionAttribute 使用して、アセンブリ レベルで厳密な名前の要件を定義できます。 .NET Framework バージョン 2.0 以降では、 属性をInternalsVisibleToAttribute使用して、そのアセンブリ内のすべての非パブリック型が別のアセンブリに表示されるように指定することもできます。 詳細については、「 フレンド アセンブリ」を参照してください。

コンストラクター

StrongNameIdentityPermission(PermissionState)
古い.

StrongNameIdentityPermission を指定して、PermissionState クラスの新しいインスタンスを初期化します。

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
古い.

指定した厳密な名前 ID の StrongNameIdentityPermission クラスの新しいインスタンスを初期化します。

プロパティ

Name
古い.

厳密な名前 ID の簡易名の部分を取得または設定します。

PublicKey
古い.

厳密な名前 ID の名前空間を定義する公開キー blob を取得または設定します。

Version
古い.

ID のバージョン番号を取得または設定します。

メソッド

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)
古い.

現在のアクセス許可と指定されたアクセス許可の和集合であるアクセス許可を作成します。

適用対象

こちらもご覧ください