FileIOPermissionAttribute Classe

Definição

Permite que as ações de segurança para FileIOPermission sejam aplicadas ao código usando a segurança declarativa.Allows security actions for FileIOPermission to be applied to code using declarative security. Esta classe não pode ser herdada.This class cannot be inherited.

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.Serializable]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.Runtime.InteropServices.ComVisible(true)]
[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
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 a ser concedida ao código.The following code example demonstrates how to request FileIOPermission by using the FileIOPermissionAttribute class, indicating the only permission that is to be granted to the code.

[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 solicitar que o código de chamada tenha FileIOPermissionirrestrito.The following example shows how to demand that the calling code has unrestricted FileIOPermission. Normalmente, você faz demandas em bibliotecas gerenciadas (DLLs) para ajudar a proteger métodos ou classes de código potencialmente prejudicial.You typically make demands in managed libraries (DLLs) to help protect methods or classes from potentially harmful code.

[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.Partially trusted code is no longer supported. Esse atributo não tem nenhum efeito no .NET Core.This attribute has no effect in .NET Core.

Os arquivos e diretórios são especificados usando caminhos absolutos.Files and directories are specified using absolute paths. Ao acessar arquivos, uma verificação de segurança é executada quando o arquivo é criado ou aberto.When accessing files, a security check is performed when the file is created or opened. A verificação de segurança não é feita novamente a menos que o arquivo seja fechado e reaberto.The security check is not done again unless the file is closed and reopened. 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 a abertura de um arquivo ocorre apenas uma única tentativa, enquanto a leitura e a gravação podem ocorrer várias vezes.Checking permissions when the file is first accessed minimizes the impact of the security check on application performance because opening a file happens only once, while reading and writing can happen multiple times.

O escopo da declaração que é permitido depende do SecurityAction usado.The scope of the declaration that is allowed depends on the SecurityAction that is used.

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.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. Os atributos de segurança são usados apenas para segurança declarativa.Security attributes are used only for declarative security. Para segurança imperativa, use a classe de permissão correspondente.For imperative security, use the corresponding permission class.

Cuidado

Unrestricted FileIOPermission concede permissão para todos os caminhos em um sistema de arquivos, incluindo vários caminhos que podem ser usados para acessar um único arquivo específico.Unrestricted FileIOPermission grants permission for all paths within a file system, including multiple pathnames that can be used to access a single given file. Para Deny acesso a um arquivo, você deve Deny todos os caminhos possíveis para o arquivo.To Deny access to a file, you must Deny all possible paths to the file. Por exemplo, se \\server\share for mapeado para a unidade de rede X, para Deny acesso ao \\server\share\file, você deverá Deny \\server\share\file, X:\File e qualquer outro caminho que você possa usar para acessar o arquivo.For example, if \\server\share is mapped to the network drive X, to Deny access to \\server\share\file, you must Deny \\server\share\file, X:\file and any other path that you can use to access the file.

Construtores

FileIOPermissionAttribute(SecurityAction)

Inicializa uma nova instância da classe FileIOPermissionAttribute com SecurityAction especificado.Initializes a new instance of the FileIOPermissionAttribute class with the specified SecurityAction.

Propriedades

Action

Obtém ou define uma ação de segurança.Gets or sets a security action.

(Herdado de SecurityAttribute)
All

Obtém ou define o acesso completo para o arquivo ou diretório especificado pelo valor da cadeia de caracteres.Gets or sets full access for the file or directory that is specified by the string value.

AllFiles

Obtém ou define o acesso permitido para todos os arquivos.Gets or sets the permitted access to all files.

AllLocalFiles

Obtém ou define o acesso permitido a todos os arquivos locais.Gets or sets the permitted access to all local files.

Append

Obtém ou define o acesso de acréscimo para o arquivo ou diretório especificado pelo valor da cadeia de caracteres.Gets or sets append access for the file or directory that is specified by the string value.

ChangeAccessControl

Obtém ou define o arquivo ou diretório no qual as informações de controle de acesso podem ser alteradas.Gets or sets the file or directory in which access control information can be changed.

PathDiscovery

Obtém ou define o arquivo ou diretório ao qual a descoberta de caminho é concedida.Gets or sets the file or directory to which to grant path discovery.

Read

Obtém ou define o acesso de leitura para o arquivo ou diretório especificado pelo valor da cadeia de caracteres.Gets or sets read access for the file or directory specified by the string value.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.When implemented in a derived class, gets a unique identifier for this 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.Gets or sets a value indicating whether full (unrestricted) permission to the resource protected by the attribute is declared.

(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.Gets or sets the file or directory in which access control information can be viewed.

ViewAndModify

Obtém ou define o arquivo ou diretório no qual os dados do arquivo podem ser exibidos e modificados.Gets or sets the file or directory in which file data can be viewed and modified.

Write

Obtém ou define o acesso de gravação para o arquivo ou diretório especificado pelo valor da cadeia de caracteres.Gets or sets write access for the file or directory specified by the string value.

Métodos

CreatePermission()

Cria e retorna um novo FileIOPermission.Creates and returns a new FileIOPermission.

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.Returns a value that indicates whether this instance is equal to a specified object.

(Herdado de Attribute)
GetHashCode()

Retorna o código hash para a instância.Returns the hash code for this instance.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(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.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(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.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(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.Maps a set of names to a corresponding set of dispatch identifiers.

(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.Retrieves the type information for an object, which can be used to get the type information for an 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).Retrieves the number of type information interfaces that an object provides (either 0 or 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.Provides access to properties and methods exposed by an object.

(Herdado de Attribute)

Aplica-se a

Veja também