DnsPermissionAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
Code Access Security is not supported or honored by the runtime.
Especifica a permissão para solicitar informações de servidores de nome de domínio.
public ref class DnsPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class DnsPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class DnsPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed class DnsPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type DnsPermissionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type DnsPermissionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
type DnsPermissionAttribute = class
inherit CodeAccessSecurityAttribute
Public NotInheritable Class DnsPermissionAttribute
Inherits CodeAccessSecurityAttribute
- Herança
- Atributos
Exemplos
O exemplo a seguir usa DnsPermissionAttribute para aplicar segurança declarativa a uma classe personalizada.
//Uses the DnsPermissionAttribute to restrict access only to those who have permission.
[DnsPermission(SecurityAction::Demand,Unrestricted=true)]
public ref class MyClass
{
public:
static IPAddress^ GetIPAddress()
{
IPAddress^ ipAddress = Dns::Resolve( "localhost" )->AddressList[ 0 ];
return ipAddress;
}
};
int main()
{
try
{
//Grants Access.
Console::WriteLine( " Access granted\n The local host IP Address is :{0}", MyClass::GetIPAddress() );
}
// Denies Access.
catch ( SecurityException^ securityException )
{
Console::WriteLine( "Access denied" );
Console::WriteLine( securityException->ToString() );
}
}
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());
}
}
}
' Uses the DnsPermissionAttribute to restrict access only to those who have permission.
<DnsPermission(SecurityAction.Demand, Unrestricted := true)> _
Public Class MyClass1
Public Shared Function GetIPAddress() As IPAddress
Dim ipAddress As IPAddress = Dns.Resolve("localhost").AddressList(0)
Return ipAddress
End Function 'GetIPAddress
Public Shared Sub Main()
Try
' Grants Access.
Console.WriteLine(("Access granted" + ControlChars.NewLine + " The local host IP Address is :" + MyClass1.GetIPAddress().ToString()))
' Denies Access.
Catch securityException As SecurityException
Console.WriteLine("Access denied")
Console.WriteLine(securityException.ToString())
End Try
End Sub
End Class
Comentários
Cuidado
O CAS (Segurança de Acesso do Código) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não aceitam anotações de CAS e produzem erros caso as APIs relacionadas ao CAS sejam usadas. Os desenvolvedores devem buscar meios alternativos de realizar tarefas de segurança.
As informações de segurança declaradas por DnsPermissionAttribute são armazenadas nos metadados do destino do atributo, que é a classe à qual o DnsPermissionAttribute é aplicado. Em seguida, o sistema acessa essas informações em tempo de execução. O SecurityAction que é passado para o construtor determina os destinos DNS permitidos.
Esses atributos de segurança são usados apenas para Segurança Declarativa. Para Segurança Imperativa, use a classe correspondente DnsPermission .
O acesso à segurança é totalmente restrito ou totalmente irrestrito. Defina a Unrestricted propriedade como true
para conceder acesso ou false
para nenhum acesso. Defina essa propriedade como um parâmetro nomeado.
Para obter mais informações sobre como usar atributos, consulte Atributos.
Construtores
DnsPermissionAttribute(SecurityAction) |
Obsoleto.
Inicializa uma nova instância da classe DnsPermissionAttribute com o valor SecurityAction especificado. |
Propriedades
Action |
Obsoleto.
Obtém ou define uma ação de segurança. (Herdado de SecurityAttribute) |
TypeId |
Obsoleto.
Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute) |
Unrestricted |
Obsoleto.
Obtém ou define um valor que indica se a permissão total (irrestrita) para o recurso protegido pelo atributo é declarada. (Herdado de SecurityAttribute) |
Métodos
CreatePermission() |
Obsoleto.
Cria e retorna uma nova instância da classe DnsPermission. |
Equals(Object) |
Obsoleto.
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
GetHashCode() |
Obsoleto.
Retorna o código hash para a instância. (Herdado de Attribute) |
GetType() |
Obsoleto.
Obtém o Type da instância atual. (Herdado de Object) |
IsDefaultAttribute() |
Obsoleto.
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
Match(Object) |
Obsoleto.
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
MemberwiseClone() |
Obsoleto.
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Obsoleto.
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Obsoleto.
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Obsoleto.
Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Obsoleto.
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Obsoleto.
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |