PermissionSet.Assert メソッド

定義

呼び出し側コードが、このメソッドを呼び出すコードを通じて、アクセス許可要求によって保護されているリソースにアクセス可能であるということ、それも、スタックの中で上位に位置する呼び出し側にリソースへのアクセス許可が付与されていない場合でさえそれが可能であることを宣言します。Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Assert() を使用すると、セキュリティ上の脆弱性が発生することがあります。Using Assert() can create security vulnerabilities.

public:
 virtual void Assert();
public void Assert ();
public virtual void Assert ();
abstract member Assert : unit -> unit
override this.Assert : unit -> unit
Public Sub Assert ()
Public Overridable Sub Assert ()

実装

例外

アサートされる PermissionSet インスタンスがアサート側コードに付与されていません。The PermissionSet instance asserted has not been granted to the asserting code.

または-or- 現在のフレームにはアクティブな Assert() が既に存在しています。There is already an active Assert() for the current frame.

注釈

1つのフレームでアクティブにできるのは1つの Assert だけなので、これは、フレーム内で複数のアクセス許可を同時にアサートする唯一の方法です。This is the only way to assert multiple permissions at the same time within a frame because only one Assert can be active on a frame. Assert は、付与されたアクセス許可に対してのみ有効です。Assert is only effective for granted permissions. CodeAccessPermission.RevertAssert または CodeAccessPermission.RevertAll メソッドを呼び出して、アクティブな Assertをキャンセルします。Call the CodeAccessPermission.RevertAssert or CodeAccessPermission.RevertAll method to cancel an active Assert.

注意事項

Assert メソッドを呼び出すと、呼び出しチェーン内のすべてのコードに、指定されたリソースにアクセスするためのアクセス許可を付与する必要があるという要件がなくなるため、不適切または不適切に使用された場合にセキュリティの脆弱性を開くことができます。Because calling the Assert method removes the requirement that all code in the call chain must be granted permission to access the specified resource, it can open up security vulnerabilities if used incorrectly or inappropriately. そのため、十分な注意を払って使用する必要があります。Therefore, it should be used with great caution.

適用対象

こちらもご覧ください