CodeAccessPermission.Deny メソッド

定義

注意事項

この 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() が既に存在しています。

注釈

重要

メソッドは Deny 、完全に信頼されたコードによる偶発的なアクセスからリソースを保護するためにのみ使用する必要があります。 信頼されていないコードによる意図的な誤用からリソースを保護するために使用しないでください。 たとえば、メソッドAがアクセス許可に 対して をDeny発行し、メソッド Bを呼び出した場合、 メソッドBは をAssert発行することで を上書きDenyできます。 呼び出されたメソッドは、スタック内で常に高くなります。 したがって、メソッド B が保護されたリソースにアクセスしようとすると、メソッド B が直接呼び出し元であるため、セキュリティ システムはアクセス許可のチェックを開始し、スタックを下に移動してスタック内に存在しない Deny か、または PermitOnly それ以下であることを確認します。 リソースにアクセスしようとしている メソッド Bは、 メソッドを使用してスタック ウォークを Assert 直ちに停止できます。 その場合、 Deny メソッド (呼び出し元のメソッド A ) によってスタックに配置された が検出されることはありません。

このメソッドは、呼び出し履歴の上位の呼び出し元に、このメソッドを呼び出すコードを介して保護されたリソースにアクセスできないようにします。呼び出し元にアクセスするアクセス許可が付与されている場合でも、このメソッドを呼び出します。 呼び出し履歴は、通常は縮小して表されるため、呼び出し履歴の呼び出しメソッドの上位のメソッドは、呼び出し履歴内で低くなります。

Deny は、呼び出し Deny が拒否されたアクセス許可によって保護されたリソースへのアクセスに使用されるのを防ぐのに役立つため、プログラマの責任を制限したり、偶発的なセキュリティの問題を防ぐのに役立ちます。 メソッドがアクセス許可を呼び出しDeny、そのアクセス許可の が呼び出し履歴の下位の呼び出し元によって呼び出された場合Demand、そのセキュリティ チェックは にDeny達したときに失敗します。

Deny 呼び出しは、呼び出し元のコードが呼び出し元に戻るまで有効です。 フレームでアクティブにできるのは 1 つだけ Deny です。 フレームにアクティブDenyな が存在する場合に を呼び出Denyそうとすると、 が発生しますSecurityException。 または RevertAll を呼び出RevertDenyして、アクティブDenyな を削除します。 Deny は、そのアクセス許可の要求が成功しないため、許可されていないアクセス許可の場合は無視されます。

注意 (継承者)

このメソッドをオーバーライドすることはできません。

適用対象