IPermission

IPermissionECMA 1.0

System.Security (mscorlib.dll)interface
public interface IPermission : ISecurityEncodable { // Public Instance Methods    public IPermission Copy(  );    public void Demand(  );    public IPermission Intersect(IPermission target);    public bool IsSubsetOf(IPermission target);    public IPermission Union(IPermission target); }

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 logical union of the two IPermission objects. IsSubsetOf( ) indicates whether the current IPermission represents a subset of the specified IPermission.

Implemented By

CodeAccessPermission, System.Security.Permissions.PrincipalPermission

Returned By

Multiple types

Passed To

CodeAccessPermission.{Intersect( ), IsSubsetOf( ), Union( )}, System.Security.Permissions.PrincipalPermission.{Intersect( ), IsSubsetOf( ), Union( )}, PermissionSet.{AddPermission( ), SetPermission( )}, SecurityManager.IsGranted( )



Programming. NET Security
Programming .Net Security
ISBN: 0596004427
EAN: 2147483647
Year: 2005
Pages: 346

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net