CodeAccessPermission.Deny メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
この API は非推奨になりました。
注意事項
Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
呼び出し履歴の上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスで指定されたリソースにアクセスできないようにします。
public:
virtual void Deny();
[System.Obsolete]
public void Deny();
public void Deny();
[System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public void Deny();
[<System.Obsolete>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
[<System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
Public Sub Deny ()
実装
- 属性
例外
現在のフレームに対してアクティブな Deny() が既に存在します。
注釈
Important
Denyメソッドは、完全に信頼されたコードによる偶発的なアクセスからリソースを保護するためにのみ使用する必要があります。 信頼されていないコードによる意図的な誤用からリソースを保護するために使用しないでください。 たとえば、メソッドAアクセス許可のDenyを発行し、メソッド Bを呼び出した場合、メソッド BはDenyを発行してAssertを上書きできます。 呼び出されたメソッドは、スタック内で常に高くなります。 そのため、メソッド B が保護されたリソースにアクセスしようとすると、メソッド B が直ちに呼び出し元であるため、セキュリティ システムはアクセス許可のチェックを開始し、スタックを下に移動して、スタック内に Deny がないか、または PermitOnly 低くないことを確認します。 リソースにアクセスしようとしているメソッド Bは、 Assert メソッドを使用してスタック ウォークを直ちに停止できます。 その場合、メソッド Deny (呼び出し元のメソッド) によってスタックに配置されたAは検出されません。
このメソッドは、呼び出し履歴の上位の呼び出し元に、このメソッドを呼び出すコードを介して保護されたリソースにアクセスできないようにします。呼び出し元にアクセスするアクセス許可が付与されている場合でも、 呼び出し履歴は、通常、呼び出し履歴内の上位のメソッドが呼び出し履歴の下位にあるように、拡大して表されます。
Deny は、プログラマの責任を制限したり、誤ってセキュリティの問題を防いだりする可能性があります。これは、 Deny を呼び出すメソッドが、拒否されたアクセス許可によって保護されているリソースへのアクセスに使用されるのを防ぐのに役立つためです。 メソッドがアクセス許可に対して Deny を呼び出し、そのアクセス許可の Demand が呼び出し履歴の下位にある呼び出し元によって呼び出された場合、 Denyに達すると、そのセキュリティ チェックは失敗します。
Denyの呼び出しは、呼び出し元のコードが呼び出し元に戻るまで有効です。 フレームでアクティブにできる Deny は 1 つだけです。 フレームにアクティブなDenyが存在する場合にDenyを呼び出そうとすると、SecurityExceptionが発生します。 RevertDenyまたはRevertAllを呼び出して、アクティブなDenyを削除します。 Deny は、そのアクセス許可の要求が成功しないため、許可されていないアクセス許可では無視されます。
注意 (継承者)
このメソッドをオーバーライドすることはできません。