Compartilhar via


IAclFileAttributeView Interface

Definição

Uma exibição de atributo de arquivo que oferece suporte à leitura ou atualização de ACL (Listas de Controle de Acesso) ou atributos de proprietário de arquivo de um arquivo.

[Android.Runtime.Register("java/nio/file/attribute/AclFileAttributeView", "", "Java.Nio.FileNio.Attributes.IAclFileAttributeViewInvoker", ApiSince=26)]
public interface IAclFileAttributeView : IDisposable, Java.Interop.IJavaPeerable, Java.Nio.FileNio.Attributes.IFileOwnerAttributeView
[<Android.Runtime.Register("java/nio/file/attribute/AclFileAttributeView", "", "Java.Nio.FileNio.Attributes.IAclFileAttributeViewInvoker", ApiSince=26)>]
type IAclFileAttributeView = interface
    interface IFileOwnerAttributeView
    interface IFileAttributeView
    interface IAttributeView
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Atributos
Implementações

Comentários

Uma exibição de atributo de arquivo que oferece suporte à leitura ou atualização de ACL (Listas de Controle de Acesso) ou atributos de proprietário de arquivo de um arquivo.

As ACLs são usadas para especificar direitos de acesso a objetos do sistema de arquivos. Uma ACL é uma lista ordenada de AclEntry access-control-entries, cada uma especificando a UserPrincipal e o nível de acesso para essa entidade de usuário. Essa exibição de atributo de arquivo define os #getAcl() getAclmétodos e #setAcl(List) setAcl e para ler e gravar ACLs com base no modelo de ACL especificado em RFC  3530: Protocolohttp://www.ietf.org/rfc/rfc3530.txt NFS (Network File System) versão 4. Essa exibição de atributo de arquivo destina-se a implementações de sistema de arquivos que oferecem suporte ao modelo de ACL NFSv4 ou têm um <mapeamento em>bem definido</em> entre o modelo de ACL NFSv4 e o modelo de ACL usado pelo sistema de arquivos. Os detalhes desse mapeamento dependem da implementação e, portanto, não são especificados.

Essa classe também se estende FileOwnerAttributeView para definir métodos para obter e definir o proprietário do arquivo.

Quando um sistema de arquivos fornece acesso a um conjunto de FileStore file-systems que não são homogêneos, apenas alguns dos sistemas de arquivos podem oferecer suporte a ACLs. O FileStore#supportsFileAttributeView supportsFileAttributeView método pode ser usado para testar se um sistema de arquivos oferece suporte a ACLs.

<h2>Interoperabilidade</h2>

RFC  O 3530 permite que identidades de usuário especiais sejam usadas em plataformas que oferecem suporte às permissões de acesso definidas pelo POSIX. As identidades de usuário especiais são "OWNER@", "GROUP@" e "EVERYONE@". Quando o AclFileAttributeView e o são suportados, essas identidades de usuário especiais podem ser incluídas na ACL AclEntry entries que são lidas PosixFileAttributeView ou gravadas. O sistema de UserPrincipalLookupService arquivos pode ser usado para obter um UserPrincipal para representar essas identidades especiais invocando o UserPrincipalLookupService#lookupPrincipalByName lookupPrincipalByName método.

<b>Exemplo de uso:</b> Suponha que desejamos adicionar uma entrada a uma ACL existente para conceder acesso "joe":

// lookup "joe"
                UserPrincipal joe = file.getFileSystem().getUserPrincipalLookupService()
                    .lookupPrincipalByName("joe");

                // get view
                AclFileAttributeView view = Files.getFileAttributeView(file, AclFileAttributeView.class);

                // create ACE to give "joe" read access
                AclEntry entry = AclEntry.newBuilder()
                    .setType(AclEntryType.ALLOW)
                    .setPrincipal(joe)
                    .setPermissions(AclEntryPermission.READ_DATA, AclEntryPermission.READ_ATTRIBUTES)
                    .build();

                // read ACL, insert ACE, re-write ACL
                List&lt;AclEntry&gt; acl = view.getAcl();
                acl.add(0, entry);   // insert before any DENY entries
                view.setAcl(acl);

<h2> Acesso <Dinâmico /h2>

Onde o acesso dinâmico aos atributos de arquivo é necessário, os atributos suportados por essa exibição de atributo são os seguintes: <blockquote<>table class="striped"<>caption style="display:none">Supported attributes</caption><thead><tr><th scope="col"> Name </th><scope ="col"> Type </th></tr<>/thead<>tbody<>tr><th scope="row"> "acl" </th><Td>List<> </Td></tr><tr><th scope="row"> "proprietário" </th><tdUserPrincipal></td<>/tr<>/tbody<>/table></blockquote>

O Files#getAttribute getAttribute método pode ser usado para ler os atributos ACL ou owner como se invocando os #getAcl getAcl métodos ou #getOwner getOwner .

O Files#setAttribute setAttribute método pode ser usado para atualizar os atributos ACL ou owner como se invocando os #setAcl setAcl métodos ou #setOwner setOwner .

<h2> Configurando a ACL ao criar um arquivo </h2>

As implementações que oferecem suporte a essa exibição de atributo também podem oferecer suporte à configuração da ACL inicial ao criar um arquivo ou diretório. A ACL inicial pode ser fornecida para métodos como Files#createFile createFile ou Files#createDirectory createDirectory como um FileAttribute com FileAttribute#name name"acl:acl" e um FileAttribute#value value que é a lista de AclEntry objetos.

Quando uma implementação oferece suporte a um modelo de ACL diferente do modelo de ACL definido pelo NFSv4, a configuração da ACL inicial ao criar o arquivo deve converter a ACL para o modelo suportado pelo sistema de arquivos. Os métodos que criam um arquivo devem rejeitar (lançando IOException IOException) qualquer tentativa de criar um arquivo que seria menos seguro como resultado da tradução.

Adicionado em 1.7.

Documentação Java para java.nio.file.attribute.AclFileAttributeView.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Propriedades

Acl

Uma exibição de atributo de arquivo que oferece suporte à leitura ou atualização de ACL (Listas de Controle de Acesso) ou atributos de proprietário de arquivo de um arquivo.

Handle

Obtém o valor JNI do objeto Android subjacente.

(Herdado de IJavaObject)
JniIdentityHashCode

Retorna o valor de java.lang.System.identityHashCode() para a instância encapsulada.

(Herdado de IJavaPeerable)
JniManagedPeerState

Estado do par gerenciado.

(Herdado de IJavaPeerable)
JniPeerMembers

Acesso de membros e suporte à invocação.

(Herdado de IJavaPeerable)
Owner

Uma exibição de atributo de arquivo que oferece suporte à leitura ou atualização de ACL (Listas de Controle de Acesso) ou atributos de proprietário de arquivo de um arquivo.

(Herdado de IFileOwnerAttributeView)
PeerReference

Retorna uma JniObjectReference das instâncias do objeto Java encapsulado.

(Herdado de IJavaPeerable)

Métodos

Disposed()

Chamado quando a instância tiver sido descartada.

(Herdado de IJavaPeerable)
DisposeUnlessReferenced()

Se não houver referências pendentes a este caso, então chame Dispose(), caso contrário, não faz nada.

(Herdado de IJavaPeerable)
Finalized()

Chamado quando a instância tiver sido finalizada.

(Herdado de IJavaPeerable)
Name()

Retorna o nome do modo de exibição de atributo.

SetJniIdentityHashCode(Int32)

Defina o valor retornado por JniIdentityHashCode.

(Herdado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Uma exibição de atributo de arquivo que oferece suporte à leitura ou atualização de ACL (Listas de Controle de Acesso) ou atributos de proprietário de arquivo de um arquivo.

(Herdado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Defina o valor retornado por PeerReference.

(Herdado de IJavaPeerable)
UnregisterFromRuntime()

Cancele o registro dessa instância para que o tempo de execução não a retorne de chamadas futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Herdado de IJavaPeerable)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Uma exibição de atributo de arquivo que oferece suporte à leitura ou atualização de ACL (Listas de Controle de Acesso) ou atributos de proprietário de arquivo de um arquivo.

GetJniTypeName(IJavaPeerable)

Uma exibição de atributo de arquivo que oferece suporte à leitura ou atualização de ACL (Listas de Controle de Acesso) ou atributos de proprietário de arquivo de um arquivo.

Aplica-se a