StrongNameIdentityPermission クラス

定義

注意事項

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

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

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
属性

注釈

Caution

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

Important

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

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

適用対象

こちらもご覧ください