public sealed class SecurityPermission : CodeAccessPermission
Object
CodeAccessPermission
SecurityPermissionThis type implements IPermission.
mscorlib
BCL
Describes a set of security permissions applied to code.
The SecurityPermissionFlag enumeration defines the permissions secured by this class.The XML encoding of a SecurityPermission instance is defined below in EBNF format. The following conventions are used:
The following meta-language symbols are used:
- All non-literals in the grammar below are shown in normal type.
- All literals are in bold font.
BuildVersion refers to the build version of the shipping CLI. This is a dotted build number such as '2412.0' .
- '*' represents a meta-language symbol suffixing an expression that can appear zero or more times.
- '?' represents a meta-language symbol suffixing an expression that can appear zero or one time.
- '+' represents a meta-language symbol suffixing an expression that can appear one or more times.
- '(',')' is be used to group literals, non-literals or a mixture of literals and non-literals.
- '|' denotes an exclusive disjunction between two expressions.
- '::= ' denotes a production rule where a left hand non-literal is replaced by a right hand expression containing literals, non-literals or both.
ECMAPubKeyToken ::=
b77a5c561934e089
SecurityPermissionFlag =
Assertion
|ControlThread
|Execution
|SkipVerification
|UnmanagedCode
Each SecurityPermissionFlag literal can appear in the XML no more than once. For example,
Flags=Assertion,Assertion
is illegal.
SecurityPermission ::=
<IPermission
class="
System.Security.Permissions.SecurityPermission,
mscorlib,
Version=1.0.
BuildVersion,
Culture=neutral,
PublicKeyToken=
ECMAPubKeyToken"
version="1"
(
Unrestricted="true"
)
|
(
Flags="
SecurityPermissionFlag (,
SecurityPermissionFlag)*"
)| ()
/>
System.Security.Permissions Namespace
SecurityPermission Constructors
SecurityPermission(System.Security.Permissions.PermissionState) Constructor
SecurityPermission(System.Security.Permissions.SecurityPermissionFlag) Constructor
SecurityPermission Methods
SecurityPermission.Copy Method
SecurityPermission.FromXml Method
SecurityPermission.Intersect Method
SecurityPermission.IsSubsetOf Method
SecurityPermission.ToXml Method
SecurityPermission.Union Method
public SecurityPermission(PermissionState state);
Constructs a new instance of the SecurityPermission class with the specified PermissionState value.
- state
- A PermissionState value. This value is either System.Security.Permissions.PermissionState.None or System.Security.Permissions.PermissionState.Unrestricted, respectively yielding fully restricted or fully unrestricted access to all security variables.
Exception Type Condition ArgumentException state is not a valid PermissionState value.
System.Security.Permissions.SecurityPermission Class, System.Security.Permissions Namespace
public SecurityPermission(SecurityPermissionFlag flag);
Constructs a new instance of the SecurityPermission class with the specified SecurityPermissionFlag value.
- flag
- One or more SecurityPermissionFlag values. Specify multiple values for flag using the bitwise OR operator.
Exception Type Condition ArgumentException flag is not a valid SecurityPermissionFlag value.
System.Security.Permissions.SecurityPermission Class, System.Security.Permissions Namespace
public override IPermission Copy();
Returns a SecurityPermission object containing the same values as the current instance.
A new SecurityPermission instance containing the same values as the current instance.
[Note: The object returned by this method represents the same access to resources as the current instance.This method overrides System.Security.CodeAccessPermission.Copy and is implemented to support the IPermission interface.
]
System.Security.Permissions.SecurityPermission Class, System.Security.Permissions Namespace
public override void FromXml(SecurityElement esd);
Reconstructs the state of a SecurityPermission object using the specified XML encoding.
- esd
- A SecurityElement instance containing the XML encoding to use to reconstruct the state of a SecurityPermission object.
Exception Type Condition ArgumentNullException esd is null
.ArgumentException esd does not contain the encoding for a SecurityPermission instance. The version number of esd is not valid.
The state of the current instance is changed to the state encoded in esd.[Note: For the XML encoding for this class, see the SecurityPermission class page.
This method overrides System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement) .
]
System.Security.Permissions.SecurityPermission Class, System.Security.Permissions Namespace
public override IPermission Intersect(IPermission target);
Returns a SecurityPermission object that is the intersection of the current instance and the specified object.
- target
- A SecurityPermission object that is of the same type as the current instance to be intersected with the current instance.
A new SecurityPermission instance that represents the intersection of the current instance and target. If the intersection is empty, or target isnull
, returnsnull
.
Exception Type Condition ArgumentException target is not null
and is not of type SecurityPermission .
[Note: The intersection of two permissions is a permission that secures the resources and operations secured by both permissions. Specifically, it represents the minimum permission such that any demand that passes both permissions will also pass their intersection.This method overrides System.Security.CodeAccessPermission.Intersect(System.Security.IPermission) and is implemented to support the IPermission interface.
]
System.Security.Permissions.SecurityPermission Class, System.Security.Permissions Namespace
public override bool IsSubsetOf(IPermission target);
Determines whether the current instance is a subset of the specified object.
- target
- A SecurityPermission object of the same type as the current instance that is to be tested for the subset relationship with the current instance.
true
if the current instance is a subset of target ; otherwise,false
. If the current instance is unrestricted, and target is not, returnsfalse
. If target is unrestricted, returnstrue
. If target isnull
and the current instance was initialized with System.Security.Permissions.SecurityPermissionFlag.NoFlags, returnstrue
. If target isnull
and the current instance was initialized with any value other thanNoFlags
, returnsfalse
.
Exception Type Condition ArgumentException target is not null
and is not of type SecurityPermission .
[Note: The current instance is a subset of target if the current instance specifies a set of accesses to resources that is wholly contained by target. For example, a permission that represents read access to a file is a subset of a permission that represents read and write access to the file.This method overrides System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission) and is implemented to support the IPermission interface.
]
System.Security.Permissions.SecurityPermission Class, System.Security.Permissions Namespace
public override SecurityElement ToXml();
Returns the XML encoding of the current instance.
A SecurityElement containing an XML encoding of the state of the current instance.
[Note: For the XML encoding for this class, see the SecurityPermission class page.This method overrides System.Security.CodeAccessPermission.ToXml .
]
System.Security.Permissions.SecurityPermission Class, System.Security.Permissions Namespace
public override IPermission Union(IPermission target);
Returns a SecurityPermission object that is the union of the current instance and the specified object.
- target
- A SecurityPermission object of the same type as the current instance to be combined with the current instance.
A new SecurityPermission instance that represents the union of the current instance and target. If the current instance or target is unrestricted, returns a SecurityPermission instance that is unrestricted. If target isnull
, returns a copy of the current instance using the System.Security.IPermission.Copy method.
Exception Type Condition ArgumentException target is not null
and is not of type SecurityPermission .
[Note: The result of a call to System.Security.Permissions.SecurityPermission.Union(System.Security.IPermission) is a permission that represents all of the access to security permissions represented by the current instance as well as the security permissions represented by target. Any demand that passes either the current instance or target passes their union.This method overrides System.Security.CodeAccessPermission.Union(System.Security.IPermission) and is implemented to support the IPermission interface.
]
System.Security.Permissions.SecurityPermission Class, System.Security.Permissions Namespace