PermissionSet.Assert PermissionSet.Assert PermissionSet.Assert PermissionSet.Assert Method

定義

呼び出し側コードが、このメソッドを呼び出すコードを通じて、アクセス許可要求によって保護されているリソースにアクセス可能であるということ、それも、スタックの中で上位に位置する呼び出し側にリソースへのアクセス許可が付与されていない場合でさえそれが可能であることを宣言します。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 ();
abstract member Assert : unit -> unit
override this.Assert : unit -> unit
Public 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.RevertAll CodeAccessPermission.RevertAssert なを取り消すには、メソッドまたはメソッドを呼び出します。AssertCall 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.

適用対象

こちらもご覧ください