System.Security.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. Using PermissionSet.Assert can create security vulnerabilities.

Syntax

public void Assert ()

Exceptions

TypeReason
System.Security.SecurityException

The asserting code does not have sufficient permission to call this method.

-or-

This method was called with permissions already asserted for the current stack frame.

Remarks

This is the only way to assert multiple permissions at the same time within a frame because only one PermissionSet.Assert can be active on a frame. PermissionSet.Assert is only effective for granted permissions. Call the CodeAccessPermission.RevertAssert or CodeAccessPermission.RevertAll method to cancel an active PermissionSet.Assert.

Note:

Because calling the PermissionSet.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.

Permissions

TypeReason
System.Security.Permissions.SecurityPermissionRequires permission to perform the assertion security operation. See System.Security.Permissions.SecurityPermissionFlag.Assertion.

Requirements

Namespace: System.Security
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0