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.
Type Reason 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.
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.
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.
Type | Reason |
---|---|
System.Security.Permissions.SecurityPermission | Requires permission to perform the assertion security operation. See System.Security.Permissions.SecurityPermissionFlag.Assertion. |