FileIOPermissionAttribute Classe

Definição

Cuidado

Code Access Security is not supported or honored by the runtime.

Permite que as ações de segurança para FileIOPermission sejam aplicadas ao código usando a 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)]
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}")]
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)>]
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.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
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
Herança
Atributos

Exemplos

O exemplo de código a seguir demonstra como solicitar usando a classe , indicando a única permissão que deve ser FileIOPermission FileIOPermissionAttribute 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 irrestrito. FileIOPermission Normalmente, você faz demandas em DLLs (bibliotecas gerenciadas) para ajudar a proteger métodos ou classes contra código potencialmente prejudicial.

[FileIOPermissionAttribute(SecurityAction::Demand,Unrestricted=true)]
[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
<FileIOPermissionAttribute(SecurityAction.Demand, _
 Unrestricted := True)> Public Class SampleClass

Comentários

Importante

Não há mais suporte para código parcialmente confiável. Esse atributo não tem nenhum efeito no .NET Core.

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 é feita novamente, a menos que o arquivo seja fechado e reaberto. Verificar permissões quando o arquivo é acessado pela primeira vez minimiza o impacto da verificação de segurança no desempenho do aplicativo, pois a abertura de um arquivo ocorre apenas uma vez, enquanto a leitura e a escrita podem ocorrer várias vezes.

O escopo da declaração permitida depende do SecurityAction que é 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 operação. Atributos de segurança são usados apenas para segurança declarativa. Para segurança imperativa, use a classe de permissão correspondente.

Cuidado

Unrestrictedconcede permissão para todos os caminhos em um sistema de arquivos, incluindo vários nomes de caminho que podem ser usados para FileIOPermission acessar um único arquivo. Para Deny acessar um arquivo, você deve todos os Deny caminhos possíveis para o arquivo. Por exemplo, se \server\share for mapeado para a unidade de rede X, para acessar \ Deny \ \server\share\file, você deverá Deny \ \server\share\file, X:\file e qualquer outro caminho que possa ser usado para acessar o arquivo.

Construtores

FileIOPermissionAttribute(SecurityAction)

Inicializa uma nova instância da classe FileIOPermissionAttribute com o SecurityAction especificado.

Propriedades

Action

Obtém ou define uma ação de segurança.

(Herdado de SecurityAttribute)
All
Obsoleto.
Obsoleto.
Obsoleto.

Obtém ou define o acesso completo para o arquivo ou diretório especificado pelo valor da cadeia de caracteres.

AllFiles

Obtém ou define o acesso permitido para todos os arquivos.

AllLocalFiles

Obtém ou define o acesso permitido a todos os arquivos locais.

Append

Obtém ou define o acesso de acréscimo para o arquivo ou diretório especificado pelo valor da cadeia de caracteres.

ChangeAccessControl

Obtém ou define o arquivo ou diretório no qual as informações de controle de acesso podem ser alteradas.

PathDiscovery

Obtém ou define o arquivo ou diretório ao qual a descoberta de caminho é concedida.

Read

Obtém ou define o acesso de leitura para o arquivo ou diretório especificado pelo valor da cadeia de caracteres.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.

(Herdado de Attribute)
Unrestricted

Obtém ou define um valor que indica se a permissão total (irrestrita) para o recurso protegido pelo atributo é declarada.

(Herdado de SecurityAttribute)
ViewAccessControl

Obtém ou define o arquivo ou diretório no qual as informações de controle de acesso podem ser exibidas.

ViewAndModify

Obtém ou define o arquivo ou diretório no qual os dados do arquivo podem ser exibidos e modificados.

Write

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()

Cria e retorna um novo FileIOPermission.

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Retorna o código hash para a instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

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)

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()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

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)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

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)

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)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Confira também