FileIOPermission Classe

Definição

Cuidado

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

Controla a capacidade de acessar arquivos e pastas. Essa classe não pode ser herdada.

public ref class FileIOPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[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 FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class FileIOPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Herança
FileIOPermission
Atributos
Implementações

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 honram as anotações CAS e geram erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos para realizar tarefas de segurança.

Essa permissão distingue entre os quatro tipos a seguir de acesso à E/S de arquivo fornecidos por FileIOPermissionAccess:

  • Read: acesso de leitura ao conteúdo do arquivo ou acesso a informações sobre o arquivo, como seu tamanho ou horário da última modificação.

  • Write: escreva o acesso ao conteúdo do arquivo ou acesso para alterar informações sobre o arquivo, como seu nome. Também permite exclusão e substituição.

  • Append: capacidade de gravar somente no final de um arquivo. Não há capacidade de leitura.

  • PathDiscovery: acesso às informações no próprio caminho. Isso ajuda a proteger informações confidenciais no caminho, como nomes de usuário, bem como informações sobre a estrutura de diretório que é revelada no caminho. Esse valor não concede acesso a arquivos ou pastas representadas pelo caminho.

Note

Dar Write acesso a um assembly é semelhante a conceder-lhe confiança total. Se um aplicativo não deve gravar no sistema de arquivos, ele não deve ter Write acesso.

Todas essas permissões são independentes, o que significa que os direitos de um não implicam direitos a outro. Por exemplo, Write a permissão não implica permissão para Read ou Append. Se mais de uma permissão for desejada, elas poderão ser combinadas usando um OR bit a bit, conforme mostrado no exemplo de código a seguir. A permissão de arquivo é definida em termos de caminhos absolutos canônicos; as chamadas sempre devem ser feitas com caminhos de arquivo canônicos.

FileIOPermission descreve operações protegidas em arquivos e pastas. A File classe ajuda a fornecer acesso seguro a arquivos e pastas. A verificação de acesso de segurança é executada quando o identificador do arquivo é criado. Ao fazer a verificação no momento da criação, o impacto no desempenho da verificação de segurança é minimizado. Abrir um arquivo acontece uma vez, enquanto a leitura e a gravação podem acontecer várias vezes. Depois que o arquivo for aberto, nenhuma verificação adicional será feita. Se o objeto for passado para um chamador não confiável, ele poderá ser usado incorretamente. Por exemplo, os identificadores de arquivo não devem ser armazenados em estáticas globais públicas em que o código com menos permissão possa acessá-los.

FileIOPermissionAccess especifica ações que podem ser executadas no arquivo ou pasta. Além disso, essas ações podem ser combinadas usando um OR bit a bit para formar instâncias complexas.

O acesso a uma pasta implica acesso a todos os arquivos que ela contém, bem como acesso a todos os arquivos e pastas em suas subpastas. Por exemplo, Read o acesso a C:\folder1\ implica no Read acesso a C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txte assim por diante.

Note

Em versões do .NET Framework antes do .NET Framework 4, você pode usar o CodeAccessPermission.Deny método para impedir o acesso inadvertido aos recursos do sistema por código confiável. Deny está agora obsoleto, e o acesso aos recursos é determinado apenas pelo conjunto de permissões concedidas para um assembly. Para limitar o acesso a arquivos, você deve executar um código parcialmente confiável em uma área restrita e atribuir permissões somente aos recursos que o código tem permissão para acessar. Para obter informações sobre como executar um aplicativo em uma área restrita, consulte Como executar código parcialmente confiável em uma área restrita.

Construtores

Nome Description
FileIOPermission(FileIOPermissionAccess, AccessControlActions, String)
Obsoleto.

Inicializa uma nova instância da FileIOPermission classe com o acesso especificado ao arquivo ou diretório designado e os direitos de acesso especificados às informações de controle de arquivo.

FileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])
Obsoleto.

Inicializa uma nova instância da FileIOPermission classe com o acesso especificado aos arquivos e diretórios designados e os direitos de acesso especificados às informações de controle de arquivo.

FileIOPermission(FileIOPermissionAccess, String)
Obsoleto.

Inicializa uma nova instância da FileIOPermission classe com o acesso especificado ao arquivo ou diretório designado.

FileIOPermission(FileIOPermissionAccess, String[])
Obsoleto.

Inicializa uma nova instância da FileIOPermission classe com o acesso especificado aos arquivos e diretórios designados.

FileIOPermission(PermissionState)
Obsoleto.

Inicializa uma nova instância da FileIOPermission classe com permissão totalmente restrita ou irrestrita, conforme especificado.

Propriedades

Nome Description
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.

Métodos

Nome Description
AddPathList(FileIOPermissionAccess, String)
Obsoleto.

Adiciona acesso ao arquivo ou diretório especificado ao estado existente da permissão.

AddPathList(FileIOPermissionAccess, String[])
Obsoleto.

Adiciona acesso aos arquivos e diretórios especificados ao estado existente da permissão.

Assert()
Obsoleto.

Declara que o código de chamada pode acessar o recurso protegido por uma demanda de permissão por meio do código que chama esse método, mesmo que os chamadores mais altos na pilha não tenham recebido permissão para acessar o recurso. O uso Assert() pode criar problemas de segurança.

(Herdado de CodeAccessPermission)
Copy()
Obsoleto.

Cria e retorna uma cópia idêntica da permissão atual.

Demand()
Obsoleto.

Força um SecurityException tempo de execução se todos os chamadores mais altos na pilha de chamadas não tiverem recebido a permissão especificada pela instância atual.

(Herdado de CodeAccessPermission)
Deny()
Obsoleto.
Obsoleto.

Impede que os chamadores mais altos na pilha de chamadas usem o código que chama esse método para acessar o recurso especificado pela instância atual.

(Herdado de CodeAccessPermission)
Equals(Object)
Obsoleto.

Determina se o objeto especificado FileIOPermission é igual ao atual FileIOPermission.

FromXml(SecurityElement)
Obsoleto.

Reconstrói uma permissão com um estado especificado de uma codificação XML.

GetHashCode()
Obsoleto.

Obtém um código hash para o FileIOPermission objeto adequado para uso em algoritmos de hash e estruturas de dados, como uma tabela de hash.

GetPathList(FileIOPermissionAccess)
Obsoleto.

Obtém todos os arquivos e diretórios com o especificado FileIOPermissionAccess.

GetType()
Obsoleto.

Obtém o Type da instância atual.

(Herdado de Object)
Intersect(IPermission)
Obsoleto.

Cria e retorna uma permissão que é a interseção da permissão atual e da permissão especificada.

IsSubsetOf(IPermission)
Obsoleto.

Determina se a permissão atual é um subconjunto da permissão especificada.

IsUnrestricted()
Obsoleto.

Retorna um valor que indica se a permissão atual é irrestrita.

MemberwiseClone()
Obsoleto.

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
PermitOnly()
Obsoleto.

Impede que os chamadores mais altos na pilha de chamadas usem o código que chama esse método para acessar todos os recursos, exceto o recurso especificado pela instância atual.

(Herdado de CodeAccessPermission)
SetPathList(FileIOPermissionAccess, String)
Obsoleto.

Define o acesso especificado ao arquivo ou diretório especificado, substituindo o estado existente da permissão.

SetPathList(FileIOPermissionAccess, String[])
Obsoleto.

Define o acesso especificado aos arquivos e diretórios especificados, substituindo o estado atual para o acesso especificado pelo novo conjunto de caminhos.

ToString()
Obsoleto.

Cria e retorna uma representação de cadeia de caracteres do objeto de permissão atual.

(Herdado de CodeAccessPermission)
ToXml()
Obsoleto.

Cria uma codificação XML da permissão e seu estado atual.

Union(IPermission)
Obsoleto.

Cria uma permissão que é a união da permissão atual e da permissão especificada.

Aplica-se a

Confira também