IStackWalk.Assert メソッド

定義

スタック内の上位の呼び出し元がリソースへのアクセス許可を付与されていない場合であっても、呼び出し元のコードが現在のアクセス許可で識別されるリソースにアクセスできることをアサートします。

public:
 void Assert();
public void Assert ();
abstract member Assert : unit -> unit
Public Sub Assert ()

例外

呼び出し元のコードに Assertion がありません。

注釈

呼び出し元は、呼び出 Assert し履歴の上位の呼び出し元に対するアクセス許可チェックを停止します。 そのため、これらの呼び出し元が必要なアクセス許可を持っていない場合でも、リソースにアクセスできます。 アサーションは、呼び出す Assert コードがアサートしているアクセス許可のセキュリティ チェックに合格した場合にのみ有効です。

呼び出し先は、呼び出 Assert し元のコードが呼び出し元に戻るまで、または後続の呼び出し Assert が前のアサーションを無効にするまで有効です。 また、RevertAssert保留中Assertを削除しますRevertAll

Assert は、権限の要求が成功しないため、権限が付与されていない場合は無視されます。 ただし、呼び出し履歴の下位のコードがそのアクセス許可を呼び出Demandすと、スタック ウォークが呼び出Assertそうとしたコードに到達すると a SecurityException がスローされます。 これは、呼び出 Assert されたコードにアクセス許可が与えられていないために発生します。ただし、そのコードにアクセス Assert 許可が与えられていません。

注意事項

呼び出しでは、呼び出し Assert チェーン内のすべてのコードに、指定されたリソースにアクセスするためのアクセス許可を付与する必要があるという要件が削除されるため、誤って使用されたり不適切に使用されたりすると、セキュリティの脆弱性が発生する可能性があります。 したがって、それは大きな注意を払って使用する必要があります。

適用対象

こちらもご覧ください