CodeAccessPermission クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
すべてのコード アクセス許可の基になる構造を定義します。
public ref class CodeAccessPermission abstract : System::Security::IPermission, System::Security::IStackWalk
[System.Serializable]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[<System.Serializable>]
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
Public MustInherit Class CodeAccessPermission
Implements IPermission, IStackWalk
- 継承
-
CodeAccessPermission
- 派生
- 属性
- 実装
注釈
Caution
コード アクセス セキュリティ (CAS) は、.NET Framework と .NET のすべてのバージョンで非推奨になりました。 最近のバージョンの .NET では、CAS に関連する API が使用されている場合、CAS 注釈は使用されず、エラーが発生します。 開発者は、セキュリティ タスクを実行するための代替手段を求める必要があります。
コード アクセスのアクセス許可では、スタック ウォークを使用して、コードのすべての呼び出し元にアクセス許可が付与されていることを確認します。 アクセス許可オブジェクトが nullされている場合は、状態が PermissionState.Noneされたアクセス許可オブジェクトと同じように処理されます。
呼び出し履歴は、通常、呼び出し履歴内の上位のメソッドが呼び出し履歴の下位にあるように、拡大して表されます。
CodeAccessPermission クラスの継承子には、セキュリティ インフラストラクチャを拡張するアクセス許可として正しく機能するための完全な信頼が付与されている必要があります。 継承子が完全に信頼されていることを確認するために、CodeAccessPermissionはControlEvidence = trueとControlPolicy = trueのInheritanceDemandを発行します。
注意 (実装者)
CodeAccessPermissionから継承する場合は、IUnrestrictedPermission インターフェイスも実装する必要があります。
Copy()、Intersect(IPermission)、IsSubsetOf(IPermission)、ToXml()、FromXml(SecurityElement)、Union(IPermission)のCodeAccessPermissionメンバーをオーバーライドする必要があります。
また、 PermissionState を唯一のパラメーターとして受け取るコンストラクターも定義する必要があります。
CodeAccessPermissionから継承するクラスにSerializableAttribute属性を適用する必要があります。
コンストラクター
| 名前 | 説明 |
|---|---|
| CodeAccessPermission() |
CodeAccessPermission クラスの新しいインスタンスを初期化します。 |
メソッド
| 名前 | 説明 |
|---|---|
| Assert() |
スタック内の上位の呼び出し元にリソースへのアクセス許可が付与されていない場合でも、呼び出し元のコードがこのメソッドを呼び出すコードを介して、アクセス許可要求によって保護されているリソースにアクセスできることを宣言します。 Assert()を使用すると、セキュリティの問題が発生する可能性があります。 |
| Copy() |
派生クラスによって実装された場合は、現在のアクセス許可オブジェクトの同じコピーを作成して返します。 |
| Demand() |
呼び出し履歴の上位のすべての呼び出し元に、現在のインスタンスで指定されたアクセス許可が付与されていない場合は、実行時に SecurityException を強制します。 |
| Deny() |
古い.
呼び出し履歴の上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスで指定されたリソースにアクセスできないようにします。 |
| Equals(Object) |
指定した CodeAccessPermission オブジェクトが現在の CodeAccessPermissionと等しいかどうかを判断します。 |
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| FromXml(SecurityElement) |
派生クラスでオーバーライドされると、XML エンコードから指定された状態のセキュリティ オブジェクトを再構築します。 |
| GetHashCode() |
ハッシュ アルゴリズムやハッシュ テーブルなどのデータ構造で使用するのに適した CodeAccessPermission オブジェクトのハッシュ コードを取得します。 |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| Intersect(IPermission) |
派生クラスによって実装された場合は、現在のアクセス許可と指定したアクセス許可の積集合であるアクセス許可を作成して返します。 |
| IsSubsetOf(IPermission) |
派生クラスによって実装された場合、現在のアクセス許可が指定されたアクセス許可のサブセットであるかどうかを判断します。 |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| PermitOnly() |
呼び出し履歴の上位の呼び出し元がこのメソッドを呼び出すコードを使用して、現在のインスタンスで指定されているリソースを除くすべてのリソースにアクセスできないようにします。 |
| RevertAll() |
現在のフレームの以前のオーバーライドをすべて削除し、無効にします。 |
| RevertAssert() |
現在のフレームの以前の Assert() が削除され、無効になります。 |
| RevertDeny() |
古い.
現在のフレームの以前の Deny() が削除され、無効になります。 |
| RevertPermitOnly() |
現在のフレームの以前の PermitOnly() が削除され、無効になります。 |
| ToString() |
現在のアクセス許可オブジェクトの文字列形式を作成して返します。 |
| ToXml() |
派生クラスでオーバーライドされた場合は、セキュリティ オブジェクトとその現在の状態の XML エンコードを作成します。 |
| Union(IPermission) |
派生クラスでオーバーライドされた場合は、現在のアクセス許可と指定したアクセス許可の和集合であるアクセス許可を作成します。 |