System.Security.Permissions.SecurityPermissionAttribute Class

Assembly: Mscorlib.dll
Namespace: System.Security.Permissions
Summary
Allows security actions for SecurityPermission to be applied to code using declarative security. This class cannot be inherited.
C# Syntax:
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method)]
[Serializable]
public sealed class SecurityPermissionAttribute : CodeAccessSecurityAttribute
Remarks
The scope of the declaration that is allowed depends on the SecurityAction that is used.

The security information declared by a security attribute is stored in the metadata of the attribute target and is accessed by the system at run time. Security attributes are used only for declarative security. For imperative security, use the corresponding permission class.

Example
The following example of a declarative attribute shows the correct way to request SecurityPermission for the ability to assert and states that you must have at least this permission to run your code.
 [assembly:SecurityPermissionAttribute(SecurityAction.RequestMinimum, Assertion=true)]
 //In C#, you must specify that you are using the assembly scope when making a request.

    

The following example shows how to demand that the calling code has SecurityPermission at link time. Demands are typically made in managed libraries (DLLs) to protect methods or classes from potentially harmful code.

 [SecurityPermissionAttribute(SecurityAction.LinkDemand, Unrestricted=true)]

    
See also:
System.Security.Permissions Namespace See also:
MSDN: extendingmetadatausingattributes | SecurityPermission | SecurityPermissionFlag

System.Security.Permissions.SecurityPermissionAttribute Member List:

Public Constructors
ctor #1 Initializes a new instance of the SecurityPermissionAttribute class with the specified SecurityAction.
Public Properties
Action
(inherited from System.Security.Permissions.SecurityAttribute)
Read-write

See base class member description: System.Security.Permissions.SecurityAttribute.Action


Gets or sets a security action.
Assertion Read-write

Gets or sets a value indicating whether permission to assert that all this code's callers have the requisite permission for the operation is declared.
ControlAppDomain Read-write

Gets or sets a value indicating whether permission to manipulate AppDomain is declared.
ControlDomainPolicy Read-write

Gets or sets a value indicating whether permission to alter or manipulate domain security policy is declared.
ControlEvidence Read-write

Gets or sets a value indicating whether permission to alter or manipulate evidence is declared.
ControlPolicy Read-write

Gets or sets a value indicating whether permission to view and manipulate security policy is declared.
ControlPrincipal Read-write

Gets or sets a value indicating whether permission to manipulate the current principal is declared.
ControlThread Read-write

Gets or sets a value indicating whether permission to manipulate threads is declared.
Execution Read-write

Gets or sets a value indicating whether permission to execute code is declared.
Flags Read-write

Gets or sets all permission flags comprising the SecurityPermission permissions.
Infrastructure Read-write

Gets or sets a value indicating whether code can plug into the common language runtime infrastructure, such as adding Remoting Context Sinks, Envoy Sinks and Dynamic Sinks.
RemotingConfiguration Read-write

Gets or sets a value indicating whether code can configure remoting types and channels.
SerializationFormatter Read-write

Gets or sets a value indicating whether code can use a serialization formatter to serialize or deserialize an object.
SkipVerification Read-write

Gets or sets a value indicating whether permission to bypass code verification is declared.
TypeId
(inherited from System.Attribute)
Read-only

See base class member description: System.Attribute.TypeId


When implemented in a derived class, gets a unique identifier for this Attribute.
UnmanagedCode Read-write

Gets or sets a value indicating whether permission to call unmanaged code is declared.
Unrestricted
(inherited from System.Security.Permissions.SecurityAttribute)
Read-write

See base class member description: System.Security.Permissions.SecurityAttribute.Unrestricted


Gets or sets a value indicating whether full (unrestricted) permission to the resource protected by the attribute is declared.
Public Methods
CreatePermission Overridden:
Creates and returns a new SecurityPermission.
Equals
(inherited from System.Object)
See base class member description: System.Object.Equals

Derived from System.Object, the primary base class for all objects.
GetHashCode
(inherited from System.Attribute)
See base class member description: System.Attribute.GetHashCode


Returns the hash code for this instance.
GetType
(inherited from System.Object)
See base class member description: System.Object.GetType

Derived from System.Object, the primary base class for all objects.
IsDefaultAttribute
(inherited from System.Attribute)
See base class member description: System.Attribute.IsDefaultAttribute


When overridden in a derived class, returns an indication whether the value of this instance is the default value for the derived class.
Match
(inherited from System.Attribute)
See base class member description: System.Attribute.Match


When overridden in a derived class, returns a value indicating whether this instance equals a specified object.
ToString
(inherited from System.Object)
See base class member description: System.Object.ToString

Derived from System.Object, the primary base class for all objects.
Protected Methods
Finalize
(inherited from System.Object)
See base class member description: System.Object.Finalize

Derived from System.Object, the primary base class for all objects.
MemberwiseClone
(inherited from System.Object)
See base class member description: System.Object.MemberwiseClone

Derived from System.Object, the primary base class for all objects.

Hierarchy:


System.Security.Permissions.SecurityPermissionAttribute Member Details

ctor #1
Summary
Initializes a new instance of the SecurityPermissionAttribute class with the specified SecurityAction.
C# Syntax:
public SecurityPermissionAttribute(
   SecurityAction action
);
Parameters:

action

One of the SecurityAction values.

Return to top


Property: Action (read-write)
Inherited
See base class member description: System.Security.Permissions.SecurityAttribute.Action

Summary
Gets or sets a security action.
C# Syntax:
public SecurityAction Action {get; set;}
Remarks
This property is inherited by all classes implementing custom attributes for declarative security.

Return to top


Property: Assertion (read-write)
Summary
Gets or sets a value indicating whether permission to assert that all this code's callers have the requisite permission for the operation is declared.
C# Syntax:
public bool Assertion {get; set;}

Return to top


Property: ControlAppDomain (read-write)
Summary
Gets or sets a value indicating whether permission to manipulate AppDomain is declared.
C# Syntax:
public bool ControlAppDomain {get; set;}

Return to top


Property: ControlDomainPolicy (read-write)
Summary
Gets or sets a value indicating whether permission to alter or manipulate domain security policy is declared.
C# Syntax:
public bool ControlDomainPolicy {get; set;}

Return to top


Property: ControlEvidence (read-write)
Summary
Gets or sets a value indicating whether permission to alter or manipulate evidence is declared.
C# Syntax:
public bool ControlEvidence {get; set;}

Return to top


Property: ControlPolicy (read-write)
Summary
Gets or sets a value indicating whether permission to view and manipulate security policy is declared.
C# Syntax:
public bool ControlPolicy {get; set;}

Return to top


Property: ControlPrincipal (read-write)
Summary
Gets or sets a value indicating whether permission to manipulate the current principal is declared.
C# Syntax:
public bool ControlPrincipal {get; set;}
Remarks
For more information, see the conceptual topic at MSDN: principal.

Return to top


Property: ControlThread (read-write)
Summary
Gets or sets a value indicating whether permission to manipulate threads is declared.
C# Syntax:
public bool ControlThread {get; set;}
Remarks
For more information, see Thread.

Return to top


Property: Execution (read-write)
Summary
Gets or sets a value indicating whether permission to execute code is declared.
C# Syntax:
public bool Execution {get; set;}

Return to top


Property: Flags (read-write)
Summary
Gets or sets all permission flags comprising the SecurityPermission permissions.
C# Syntax:
public SecurityPermissionFlag Flags {get; set;}
Exceptions
Exception Type Condition
ArgumentException An attempt is made to set this property to an invalid value. See SecurityPermissionFlag for the valid values.

Return to top


Property: Infrastructure (read-write)
Summary
Gets or sets a value indicating whether code can plug into the common language runtime infrastructure, such as adding Remoting Context Sinks, Envoy Sinks and Dynamic Sinks.
C# Syntax:
public bool Infrastructure {get; set;}

Return to top


Property: RemotingConfiguration (read-write)
Summary
Gets or sets a value indicating whether code can configure remoting types and channels.
C# Syntax:
public bool RemotingConfiguration {get; set;}

Return to top


Property: SerializationFormatter (read-write)
Summary
Gets or sets a value indicating whether code can use a serialization formatter to serialize or deserialize an object.
C# Syntax:
public bool SerializationFormatter {get; set;}

Return to top


Property: SkipVerification (read-write)
Summary
Gets or sets a value indicating whether permission to bypass code verification is declared.
C# Syntax:
public bool SkipVerification {get; set;}

Return to top


Property: TypeId (read-only)
Inherited
See base class member description: System.Attribute.TypeId

Summary
When implemented in a derived class, gets a unique identifier for this Attribute.
C# Syntax:
public virtual object TypeId {get;}
Remarks
As implemented, this identifier is merely the Type of the attribute. However, it is intended that the unique identifier be used to identify two attributes of the same type.

Return to top


Property: UnmanagedCode (read-write)
Summary
Gets or sets a value indicating whether permission to call unmanaged code is declared.
C# Syntax:
public bool UnmanagedCode {get; set;}

Return to top


Property: Unrestricted (read-write)
Inherited
See base class member description: System.Security.Permissions.SecurityAttribute.Unrestricted

Summary
Gets or sets a value indicating whether full (unrestricted) permission to the resource protected by the attribute is declared.
C# Syntax:
public bool Unrestricted {get; set;}
Remarks
This property is inherited by all classes implementing custom attributes for declarative security.

Return to top


Overridden Method: CreatePermission()
Summary
Creates and returns a new SecurityPermission.
C# Syntax:
public override IPermission CreatePermission();
Return Value:
A SecurityPermission that corresponds to this attribute.
Remarks
This method should only be called by the security system, never by application code.

At compile time, attributes convert security declarations to a serialized form in metadata. Declarative security data in metadata is created from the permission that this method returns that corresponds to this attribute.

Return to top


Method: Equals(
   object obj
)
Inherited
See base class member description: System.Object.Equals
C# Syntax:
public virtual bool Equals(
   object obj
);

For more information on members inherited from System.Object click on the link above.

Return to top


Method: Finalize()
Inherited
See base class member description: System.Object.Finalize
C# Syntax:
~SecurityPermissionAttribute();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: GetHashCode()
Inherited
See base class member description: System.Attribute.GetHashCode

Summary
Returns the hash code for this instance.
C# Syntax:
public override int GetHashCode();
Return Value:
A 32-bit signed integer hash code.

Return to top


Method: GetType()
Inherited
See base class member description: System.Object.GetType
C# Syntax:
public Type GetType();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: IsDefaultAttribute()
Inherited
See base class member description: System.Attribute.IsDefaultAttribute

Summary
When overridden in a derived class, returns an indication whether the value of this instance is the default value for the derived class.
C# Syntax:
public virtual bool IsDefaultAttribute();
Return Value:
true if this instance is the default attribute for the class; otherwise, false.
Remarks
The default implementation of this class returns false, and must be implemented in the derived class to be useful to that class.

The implementation of this method in a derived class compares the value of this instance to a standard, default value obtained by some means, then returns a Boolean value that indicates whether the value of this instance is equal to the standard. The standard value is typically coded as a constant in the implementation, or stored programmatically in a field used by the implementation.

Return to top


Method: Match(
   object obj
)
Inherited
See base class member description: System.Attribute.Match

Summary
When overridden in a derived class, returns a value indicating whether this instance equals a specified object.
C# Syntax:
public virtual bool Match(
   object obj
);
Parameters:

obj

An Object to compare with this instance of Attribute.

Return Value:
true if this instance equals obj; otherwise, false.
Remarks
This method determines if one Attribute equals another. Its default implementation is the same as Attribute.Equals, which performs a value and reference comparison. Override this method to implement support for attribute values, such as flags or bitfields, that consist of components that are meaningful in themselves. For example, consider an attribute whose value is a binary field divided into a bitfield of flags. Two instances of this attribute have one flag in set in common while all the other flags differ. The Equal method cannot determine that the two instances have the same flag set, but the Match method can.

Return to top


Method: MemberwiseClone()
Inherited
See base class member description: System.Object.MemberwiseClone
C# Syntax:
protected object MemberwiseClone();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: ToString()
Inherited
See base class member description: System.Object.ToString
C# Syntax:
public virtual string ToString();

For more information on members inherited from System.Object click on the link above.

Return to top


Top of page

Copyright (c) 2002 Microsoft Corporation. All rights reserved.