System.Security.IPermission.Demand Method

Throws a System.Security.SecurityException at run time if the security requirement is not met.

Syntax

public void Demand ()

Exceptions

TypeReason
System.Security.SecurityException A caller does not have the permission specified by the current instance.

Remarks

This method is typically used by secure libraries to ensure that callers have permission to access a resource. For example, a file class in a secure class library calls CodeAccessPermission.Demand for the necessary System.Security.Permissions.FileIOPermission before performing a file operation requested by the caller.

Although the majority of the classes that implement this interface method satisfy the security criteria by performing a full stack walk, a stack walk is not necessarily performed. An example of an implementation that does not perform a stack walk is System.Security.Permissions.PrincipalPermission.Demand.

When a stack walk is performed, the permissions of the code that calls this method are not examined; the check begins from the immediate caller of that code and proceeds up the stack. The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack. CodeAccessPermission.Demand succeeds only if no System.Security.SecurityException is raised.

Requirements

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