CodeAccessPermission.Deny メソッド
コール スタックの上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスによって指定されるリソースにアクセスできないようにします。
Public Overridable Sub Deny() Implements IStackWalk.Deny
[C#]
public virtual void Deny();
[C++]
public: virtual void Deny();
[JScript]
public function Deny();
実装
例外
例外の種類 | 条件 |
---|---|
SecurityException | 現在のフレームに既にアクティブな Deny が存在しています。 |
解説
このメソッドは、コール スタック内の上位にある呼び出し元が、保護されているリソースへのアクセス許可を与えられている場合でも、このメソッドを呼び出すコードを通じて、それらのリソースにアクセスできないようにします。コール スタック内で上位にあるメソッドが下位にあるメソッドを呼び出すことができるというように、通常コール スタックは、下方向に影響力を持つものとして表現されます。
Deny を使用すると、拒否されたアクセス許可で保護されているリソースへのアクセスに Deny を呼び出すメソッドが利用されることを防止できるため、プログラマの負担を制限し、セキュリティ上の問題を回避できます。あるメソッドがアクセス許可に対して Deny を呼び出した場合は、コール スタック内の下位にある呼び出し元によって、そのアクセス許可に対して Demand が呼び出されると、 Deny に達したときにセキュリティ チェックが失敗します。
Deny の呼び出しは、呼び出しコードがその呼び出し元に返されるまで有効です。フレームあたり 1 つの Deny だけをアクティブにできます。フレームにアクティブな Deny が存在する場合に Deny を呼び出そうとすると、 SecurityException が発生します。 RevertDeny または RevertAll を呼び出すと、アクティブな Deny が削除されます。与えられていないアクセス許可を要求しても失敗するため、そのようなアクセス許可に対して Deny を呼び出しても無視されます。
継承時の注意: このメソッドはオーバーライドできません。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, Common Language Infrastructure (CLI) Standard
参照
CodeAccessPermission クラス | CodeAccessPermission メンバ | System.Security 名前空間 | Deny | セキュリティ チェックのオーバーライド