Name
IPermission
Synopsis
public interface IPermission : ISecurityEncodable { // Public Instance Methods public IPermission Copy( ); public void Demand( ); public IPermission Intersect(IPermissiontarget); public bool IsSubsetOf(IPermissiontarget); public IPermission Union(IPermissiontarget); }
This IPermission interface defines the minimum set
of methods that all permission classes must implement if they are to
integrate with the code-access security framework of the .NET
runtime.
IPermission defines the Demand(
) method, which is the most fundamental mechanism used to
enforce code-access security. Demand( ) invokes a
security demand for the implementing permission object. This ensures
that calling code has the permission; otherwise, a
SecurityException is thrown. All of the standard
code-access and identity permissions implement the
IStackWalk interface, which also defines a
Demand( ) method. The IStackWalk.Demand(
) method initiates a stack-walk-based security demand,
whereas IPermission.Demand( ) is intended for use
by permission classes that do not use stack walks—for example,
the
System.Security.Permissions.PrincipalPermission
class.
The exact behavior of the Copy( ),
Intersect( ), IsSubsetOf( ),
and Union( ) methods vary based on the nature of
the implementing permission class. Copy( ) returns
a deep copy of the permission. Intersect( )
returns a new permission that represents the logical intersection of
the current and a specified IPermission, whereas
Union( ) returns the ...