Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe FileIOPermission

 

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

Namespace:   System.Security.Permissions
Assembly:  mscorlib (em mscorlib.dll)

System.Object
  System.Security.CodeAccessPermission
    System.Security.Permissions.FileIOPermission

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileIOPermission : CodeAccessPermission, 
	IUnrestrictedPermission

NomeDescrição
System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, AccessControlActions, String)

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

System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])

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

System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, String)

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

System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, String[])

Inicializa uma nova instância de FileIOPermission classe com o acesso especificado para os diretórios e arquivos designados.

System_CAPS_pubmethodFileIOPermission(PermissionState)

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

NomeDescrição
System_CAPS_pubpropertyAllFiles

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

System_CAPS_pubpropertyAllLocalFiles

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

NomeDescrição
System_CAPS_pubmethodAddPathList(FileIOPermissionAccess, String)

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

System_CAPS_pubmethodAddPathList(FileIOPermissionAccess, String[])

Adiciona o acesso para os arquivos especificados e os diretórios para o estado da permissão existente.

System_CAPS_pubmethodAssert()

Declara que o código de chamada pode acessar o recurso protegido por uma demanda de permissão através do código que chama este método, mesmo que os chamadores na pilha não tenham recebido permissão para acessar o recurso. Usar Assert pode criar problemas de segurança.(Herdado de CodeAccessPermission.)

System_CAPS_pubmethodCopy()

Cria e retorna uma cópia idêntica da permissão atual.(Substitui o CodeAccessPermission.Copy().)

System_CAPS_pubmethodDemand()

Força um SecurityException no tempo de execução se todos os chamadores no topo da pilha de chamadas não receberam as permissões especificadas pela instância atual.(Herdado de CodeAccessPermission.)

System_CAPS_pubmethodDeny()

Obsoleto. Impede que os chamadores no nível superior da pilha de chamadas usem o código que chama esse método para acessar o recurso especificado pela instância atual.(Herdado de CodeAccessPermission.)

System_CAPS_pubmethodEquals(Object)

Determina se o especificado FileIOPermission objeto é igual a atual FileIOPermission.(Substitui o CodeAccessPermission.Equals(Object).)

System_CAPS_pubmethodFromXml(SecurityElement)

Reconstrói uma permissão com um estado de uma codificação de XML especificado.(Substitui o CodeAccessPermission.FromXml(SecurityElement).)

System_CAPS_pubmethodGetHashCode()

Obtém um código hash para o FileIOPermission objeto que é adequado para uso em algoritmos e estruturas de dados como uma tabela de hash de hash.(Substitui o CodeAccessPermission.GetHashCode().)

System_CAPS_pubmethodGetPathList(FileIOPermissionAccess)

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

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_pubmethodIntersect(IPermission)

Cria e retorna uma permissão que é a interseção de permissão atual e a permissão especificada.(Substitui o CodeAccessPermission.Intersect(IPermission).)

System_CAPS_pubmethodIsSubsetOf(IPermission)

Determina se a permissão atual é um subconjunto de permissão especificada.(Substitui o CodeAccessPermission.IsSubsetOf(IPermission).)

System_CAPS_pubmethodIsUnrestricted()

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

System_CAPS_pubmethodPermitOnly()

Impede que os chamadores no topo da pilha de chamadas usem o código que chama esse método para acessar todos os recursos, com exceção do recurso especificado pela instância atual.(Herdado de CodeAccessPermission.)

System_CAPS_pubmethodSetPathList(FileIOPermissionAccess, String)

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

System_CAPS_pubmethodSetPathList(FileIOPermissionAccess, String[])

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

System_CAPS_pubmethodToString()

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

System_CAPS_pubmethodToXml()

Cria uma codificação de XML de permissão e seu estado atual.(Substitui o CodeAccessPermission.ToXml().)

System_CAPS_pubmethodUnion(IPermission)

Cria uma permissão que é a união de permissão atual e a permissão especificada.(Substitui o CodeAccessPermission.Union(IPermission).)

This permission distinguishes between the following four types of file IO access provided by T:System.Security.Permissions.FileIOPermissionAccess:

  • Read: Read access to the contents of the file or access to information about the file, such as its length or last modification time.

  • Write: Write access to the contents of the file or access to change information about the file, such as its name. Also allows for deletion and overwriting.

  • Append: Ability to write to the end of a file only. No ability to read.

  • PathDiscovery: Access to the information in the path itself. This helps protect sensitive information in the path, such as user names, as well as information about the directory structure that is revealed in the path. This value does not grant access to files or folders represented by the path.

System_CAPS_noteObservação

Giving F:System.Security.Permissions.FileIOPermissionAccess.Write access to an assembly is similar to granting it full trust. If an application should not write to the file system, it should not have F:System.Security.Permissions.FileIOPermissionAccess.Write access.

All these permissions are independent, meaning that rights to one do not imply rights to another. For example, Write permission does not imply permission to Read or Append. If more than one permission is desired, they can be combined using a bitwise OR as shown in the code example that follows. File permission is defined in terms of canonical absolute paths; calls should always be made with canonical file paths.

FileIOPermission describes protected operations on files and folders. The File class helps provide secure access to files and folders. The security access check is performed when the handle to the file is created. By doing the check at creation time, the performance impact of the security check is minimized. Opening a file happens once, while reading and writing can happen multiple times. Once the file is opened, no further checks are done. If the object is passed to an untrusted caller, it can be misused. For example, file handles should not be stored in public global statics where code with less permission can access them.

FileIOPermissionAccess specifies actions that can be performed on the file or folder. In addition, these actions can be combined using a bitwise OR to form complex instances.

Access to a folder implies access to all the files it contains, as well as access to all the files and folders in its subfolders. For example, Read access to C:\folder1\ implies Read access to C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txt, and so on.

System_CAPS_noteObservação

In versions of the .NET Framework before the net_v40_long, you could use the M:System.Security.CodeAccessPermission.Deny method to prevent inadvertent access to system resources by trusted code. M:System.Security.CodeAccessPermission.Deny is now obsolete, and access to resources is now determined solely by the granted permission set for an assembly. To limit access to files, you must run partially trusted code in a sandbox and assign it permissions only to resources that the code is allowed to access. For information about running an application in a sandbox, see How To: Run Partially Trusted Code in a Sandbox.

The following examples illustrate code that uses T:System.Security.Permissions.FileIOPermission. After the following two lines of code, the object f represents permission to read all files on the client computer's local disks. The code example then demands the permission to determine whether the application has permission to read the files.

FileIOPermission f = new FileIOPermission(PermissionState.None);
f.AllLocalFiles = FileIOPermissionAccess.Read;
try
{
    f.Demand();
}
catch (SecurityException s)
{
    Console.WriteLine(s.Message);
}

After the following two lines of code, the object f2 represents permissions to read C:\test_r and read and write to C:\example\out.txt. Read and Write represent the file/folder permissions as previously described. After creating the permission, the code demands the permission to determine whether the application has the right to read and write to the file.

FileIOPermission f2 = new FileIOPermission(FileIOPermissionAccess.Read, "C:\\test_r");
f2.AddPathList(FileIOPermissionAccess.Write | FileIOPermissionAccess.Read, "C:\\example\\out.txt");
try
{
    f2.Demand();
}
catch (SecurityException s)
{
    Console.WriteLine(s.Message);
}

.NET Framework
Disponível desde 1.1

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: