FileIOPermission 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.
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
- 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. |