FileIOPermissionAttribute 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.
Permite que ações de segurança para FileIOPermission sejam aplicadas ao código usando segurança declarativa. Essa classe não pode ser herdada.
public ref class FileIOPermissionAttribute 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 FileIOPermissionAttribute : 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 FileIOPermissionAttribute : 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]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermissionAttribute : 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 FileIOPermissionAttribute : 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 FileIOPermissionAttribute = 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 FileIOPermissionAttribute = 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>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermissionAttribute = 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 FileIOPermissionAttribute = class
inherit CodeAccessSecurityAttribute
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
- Herança
- Atributos
Exemplos
O exemplo de código a seguir demonstra como solicitar FileIOPermission usando a classe FileIOPermissionAttribute, indicando a única permissão que deve ser concedida ao código.
[FileIOPermissionAttribute(SecurityAction::PermitOnly,ViewAndModify="C:\\example\\sample.txt")]
[FileIOPermissionAttribute(SecurityAction.PermitOnly, ViewAndModify = "C:\\example\\sample.txt")]
<FileIOPermissionAttribute(SecurityAction.PermitOnly, _
ViewAndModify:="C:\example\sample.txt")> Public Class SampleClass
O exemplo a seguir mostra como exigir que o código de chamada tenha FileIOPermissionirrestritos. Normalmente, você faz demandas em DLLs (bibliotecas gerenciadas) para ajudar a proteger métodos ou classes contra códigos potencialmente prejudiciais.
[FileIOPermissionAttribute(SecurityAction::Demand,Unrestricted=true)]
[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
<FileIOPermissionAttribute(SecurityAction.Demand, _
Unrestricted := True)> Public Class SampleClass
Comentários
Cuidado
O CAS (Code Access Security) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não respeitam as anotações cas e produzem erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos para realizar tarefas de segurança.
Arquivos e diretórios são especificados usando caminhos absolutos. Ao acessar arquivos, uma verificação de segurança é executada quando o arquivo é criado ou aberto. A verificação de segurança não será feita novamente, a menos que o arquivo seja fechado e reaberto. A verificação de permissões quando o arquivo é acessado pela primeira vez minimiza o impacto da verificação de segurança no desempenho do aplicativo, pois abrir um arquivo acontece apenas uma vez, enquanto a leitura e a gravação podem ocorrer várias vezes.
O escopo da declaração permitida depende do SecurityAction usado.
As informações de segurança declaradas por um atributo de segurança são armazenadas nos metadados do destino do atributo e são acessadas pelo sistema em tempo de execução. Os atributos de segurança são usados apenas para segurança declarativa. Para segurança imperativa, use a classe de permissão correspondente.
Cuidado
Unrestricted
FileIOPermission concede permissão para todos os caminhos em um sistema de arquivos, incluindo vários nomes de caminho que podem ser usados para acessar um único arquivo determinado. Para Deny acesso a um arquivo, você deve Deny
todos os caminhos possíveis para o arquivo. Por exemplo, se \\server\share for mapeado para a unidade de rede X, para Deny
acesso a \\server\share\file, você deve Deny
\\server\share\file, X:\file e qualquer outro caminho que você possa usar para acessar o arquivo.
Construtores
FileIOPermissionAttribute(SecurityAction) |
Obsoleto.
Inicializa uma nova instância da classe FileIOPermissionAttribute com o SecurityActionespecificado. |
Propriedades
Action |
Obsoleto.
Obtém ou define uma ação de segurança. (Herdado de SecurityAttribute) |
All |
Obsoleto.
Obsoleto.
Obtém ou define o acesso completo para o arquivo ou diretório especificado pelo valor da cadeia de caracteres. |
AllFiles |
Obsoleto.
Obtém ou define o acesso permitido a todos os arquivos. |
AllLocalFiles |
Obsoleto.
Obtém ou define o acesso permitido a todos os arquivos locais. |
Append |
Obsoleto.
Obtém ou define o acesso de acréscimo para o arquivo ou diretório especificado pelo valor da cadeia de caracteres. |
ChangeAccessControl |
Obsoleto.
Obtém ou define o arquivo ou diretório no qual as informações de controle de acesso podem ser alteradas. |
PathDiscovery |
Obsoleto.
Obtém ou define o arquivo ou diretório ao qual conceder a descoberta de caminho. |
Read |
Obsoleto.
Obtém ou define o acesso de leitura para o arquivo ou diretório especificado pelo valor da cadeia de caracteres. |
TypeId |
Obsoleto.
Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute. (Herdado de Attribute) |
Unrestricted |
Obsoleto.
Obtém ou define um valor que indica se a permissão completa (irrestrita) para o recurso protegido pelo atributo é declarada. (Herdado de SecurityAttribute) |
ViewAccessControl |
Obsoleto.
Obtém ou define o arquivo ou diretório no qual as informações de controle de acesso podem ser exibidas. |
ViewAndModify |
Obsoleto.
Obtém ou define o arquivo ou diretório no qual os dados do arquivo podem ser exibidos e modificados. |
Write |
Obsoleto.
Obtém ou define o acesso de gravação para o arquivo ou diretório especificado pelo valor da cadeia de caracteres. |
Métodos
CreatePermission() |
Obsoleto.
Cria e retorna um novo FileIOPermission. |
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 dessa 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 Objectatual. (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 de um objeto, que podem ser usadas para obter as informações de tipo de uma interface. (Herdado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Obsoleto.
Recupera o número de interfaces de informações de 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) |