[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method)] |
These security attributes are used only for the conceptual topic at MSDN: declarativesecurity. For the conceptual topic at MSDN: imperativesecurity, use the corresponding DnsPermission class.
Security access is either fully restricted, or fully unrestricted. Set the PermissionState.Unrestricted property to true to grant access, or false for no access. Set this property as a named parameter.
For more information about using attributes, see the conceptual topic at MSDN: extendingmetadatausingattributes.
//Uses the DnsPermissionAttribute to restrict access only to those who have permission. [DnsPermission(SecurityAction.Demand, Unrestricted = true)] public class MyClass{ public static IPAddress GetIPAddress(){ IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0]; return ipAddress; } public static void Main(){ try{ //Grants Access. Console.WriteLine(" Access granted\n The local host IP Address is :" + MyClass.GetIPAddress().ToString()); } // Denies Access. catch(SecurityException securityException){ Console.WriteLine("Access denied"); Console.WriteLine(securityException.ToString()); }
ctor #1 | Initializes a new instance of the DnsPermissionAttribute class with the specified SecurityAction value. |
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. |
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. |
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. |
CreatePermission | Overridden: Creates and returns a new instance of the DnsPermission class. |
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. |
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:
public DnsPermissionAttribute( |
action
Exception Type | Condition |
---|---|
ArgumentException | The action parameter is not a valid SecurityAction. |
//Uses the DnsPermissionAttribute to restrict access only to those who have permission. [DnsPermission(SecurityAction.Demand, Unrestricted = true)] public class MyClass{ public static IPAddress GetIPAddress(){ IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0]; return ipAddress; } public static void Main(){ try{ //Grants Access. Console.WriteLine(" Access granted\n The local host IP Address is :" + MyClass.GetIPAddress().ToString()); } // Denies Access. catch(SecurityException securityException){ Console.WriteLine("Access denied"); Console.WriteLine(securityException.ToString()); }
public SecurityAction Action {get; set;}
|
public virtual object TypeId {get;}
|
public bool Unrestricted {get; set;}
|
public override IPermission CreatePermission(); |
~DnsPermissionAttribute(); |
public override int GetHashCode(); |
public Type GetType(); |
public virtual bool IsDefaultAttribute(); |
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.
obj
protected object MemberwiseClone(); |
public virtual string ToString(); |