SecurityAction 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
Code Access Security is not supported or honored by the runtime.
宣言型セキュリティを使用して実行できるセキュリティ アクションを指定します。
public enum class SecurityAction
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum SecurityAction
public enum SecurityAction
[System.Serializable]
public enum SecurityAction
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum SecurityAction
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type SecurityAction =
type SecurityAction =
[<System.Serializable>]
type SecurityAction =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityAction =
Public Enum SecurityAction
- 継承
- 属性
フィールド
| 名前 | 値 | 説明 |
|---|---|---|
| Demand | 2 | 呼び出し履歴の上位のすべての呼び出し元には、現在のアクセス許可オブジェクトで指定されたアクセス許可が付与されている必要があります。 |
| Assert | 3 | 呼び出し元のコードは、スタック内の上位の呼び出し元にリソースへのアクセス許可が付与されていない場合でも、現在のアクセス許可オブジェクトによって識別されるリソースにアクセスできます ( Assert メソッドの使用を参照)。 |
| Deny | 4 | 現在のアクセス許可オブジェクトで指定されたリソースにアクセスする機能は、呼び出し元にアクセスするアクセス許可が付与されている場合でも、呼び出し元に対して拒否されます。 |
| PermitOnly | 5 | コードに他のリソースへのアクセス許可が付与されている場合でも、このアクセス許可オブジェクトで指定されたリソースにのみアクセスできます。 |
| LinkDemand | 6 | 直接呼び出し元には、指定されたアクセス許可が付与されている必要があります。 .NET Framework 4 では使用しないでください。 完全信頼の場合は、代わりに SecurityCriticalAttribute を使用します。部分信頼の場合は、 Demandを使用します。 |
| InheritanceDemand | 7 | クラスを継承する派生クラス、またはメソッドをオーバーライドする派生クラスには、指定したアクセス許可が付与されている必要があります。 |
| RequestMinimum | 8 | コードの実行に必要な最小限のアクセス許可の要求。 このアクションは、アセンブリのスコープ内でのみ使用できます。 |
| RequestOptional | 9 | 省略可能な追加のアクセス許可の要求 (実行する必要はありません)。 この要求は、明示的に要求されていない他のすべてのアクセス許可を暗黙的に拒否します。 このアクションは、アセンブリのスコープ内でのみ使用できます。 |
| RequestRefuse | 10 | 誤用される可能性のあるアクセス許可が呼び出し元のコードに付与されない要求。 このアクションは、アセンブリのスコープ内でのみ使用できます。 |
注釈
注意事項
コード アクセス セキュリティ (CAS) は、.NET Framework と .NET のすべてのバージョンで非推奨になりました。 最近のバージョンの .NET では、CAS に関連する API が使用されている場合、CAS 注釈は使用されず、エラーが発生します。 開発者は、セキュリティ タスクを実行するための代替手段を求める必要があります。
次の表では、各セキュリティ アクションが実行される時間と、それがサポートするターゲットについて説明します。
Important
.NET Framework 4 では、Deny、RequestMinimum、RequestOptional、および RequestRefuse アクセス許可要求を適用するためのランタイム サポートが削除されました。 これらの要求は、.NET Framework 4 以降に基づくコードでは使用しないでください。 この変更とその他の変更の詳細については、「 セキュリティの変更」を参照してください。
.NET Framework 4 では LinkDemand を使用しないでください。 代わりに、 SecurityCriticalAttribute を使用して使用を完全に信頼されたアプリケーションに制限するか、 Demand を使用して部分的に信頼された呼び出し元を制限します。
| セキュリティ アクションの宣言 | アクションの時刻 | サポートされるターゲット |
|---|---|---|
LinkDemand (.NET Framework 4 以降では使用しないでください) |
Just-In-Time コンパイル | クラス、メソッド |
InheritanceDemand |
読み込み時間 | クラス、メソッド |
Demand |
実行時間 | クラス、メソッド |
Assert |
実行時間 | クラス、メソッド |
Deny (.NET Framework 4 では廃止されました) |
実行時間 | クラス、メソッド |
PermitOnly |
実行時間 | クラス、メソッド |
RequestMinimum (.NET Framework 4 では廃止されました) |
時間の付与 | 集会 |
RequestOptional (.NET Framework 4 では廃止されました) |
時間の付与 | 集会 |
RequestRefuse (.NET Framework 4 では廃止されました) |
時間の付与 | 集会 |
属性ターゲットの詳細については、 Attributeを参照してください。