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 つだけ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.

適用対象

こちらもご覧ください