Idioma

IAclFileAttributeView Interface

Definição

Uma exibição de atributo de arquivo que dá suporte à leitura ou atualização de acl (listas de Controle de Acesso) de um arquivo ou atributos de proprietário de 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 dá suporte à leitura ou atualização de acl (listas de Controle de Acesso) de um arquivo ou atributos de proprietário de 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 um UserPrincipal e o nível de acesso para essa entidade de segurança de usuário. Essa exibição de atributo de arquivo define os #getAcl() getAclmétodos para #setAcl(List) setAcl ler e gravar ACLs com base no modelo de ACL especificado em RFC  3530: Protocolo NFS versão 4 do Sistema de Arquivos de Rede.http://www.ietf.org/rfc/rfc3530.txt Essa exibição de atributo de arquivo destina-se a implementações do sistema de arquivos que dão 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 para definir métodos FileOwnerAttributeView para obter e definir o proprietário do arquivo.

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

<Interoperabilidade> h2</h2>

RFC  O 3530 permite que identidades especiais de usuário sejam usadas em plataformas que dão suporte às permissões de acesso definidas por POSIX. As identidades especiais do usuário são "OWNER@", "GROUP@" e "EVERYONE@". Quando houver AclFileAttributeView suporte, PosixFileAttributeView essas identidades especiais de usuário poderão ser incluídas na ACL AclEntry entries que são lidas ou gravadas. O sistema de UserPrincipalLookupService arquivos pode ser usado para obter uma 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>

Quando o acesso dinâmico aos atributos de arquivo é necessário, os atributos compatíveis com essa exibição de atributo são os seguintes: blockquotetable class="striped"caption style="display:none"Supported attributes/captiontheadtrth scope="col" Name /th th thscope="col" Type /th/tr/theadtbodytrth scope="row" "acl" /thtd<> /td/trtrth scope="row" "owner" /thtd/td/tr/tbody/table/blockquote

O Files#getAttribute getAttribute método pode ser usado para ler a ACL ou os atributos de proprietário como se invocassem os métodos ou #getAcl getAcl os #getOwner getOwner métodos.

O Files#setAttribute setAttribute método pode ser usado para atualizar os atributos acl ou proprietário como se estivesse invocando os métodos ou #setAcl setAcl os #setOwner setOwner métodos.

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

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

Quando uma implementação dá suporte a um modelo de ACL diferente do modelo de ACL definido por NFSv4, a definição da ACL inicial ao criar o arquivo deve traduzir a ACL para o modelo compatível com o sistema de arquivos. Os métodos que criam um arquivo devem rejeitar (lançando IOException IOException) qualquer tentativa de criar um arquivo menos seguro como resultado da tradução.

Adicionado em 1.7.

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

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

Propriedades

Nome Description
Acl

Obtém ou define a lista de controle de acesso para o arquivo.

Handle

Obtém o valor JNI do objeto Android subjacente.

(Herdado de IJavaObject)
JniIdentityHashCode

Retorna o valor da java.lang.System.identityHashCode() instância encapsulada.

(Herdado de IJavaPeerable)
JniManagedPeerState

Estado do par gerenciado.

(Herdado de IJavaPeerable)
JniObjectReferenceControlBlock

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

(Herdado de IJavaPeerable)
JniPeerMembers

Acesso ao membro e suporte à invocação.

(Herdado de IJavaPeerable)
Owner

Obtém ou define o proprietário do arquivo.

(Herdado de IFileOwnerAttributeView)
PeerReference

Retorna uma JniObjectReference das instâncias de objeto Java encapsuladas.

(Herdado de IJavaPeerable)

Métodos

Nome Description
Disposed()

Chamado quando a instância foi descartada.

(Herdado de IJavaPeerable)
DisposeUnlessReferenced()

Se não houver referências pendentes a essa instância, então chamará Dispose(); caso contrário, não fará nada.

(Herdado de IJavaPeerable)
Finalized()

Chamado quando a instância foi finalizada.

(Herdado de IJavaPeerable)
Name()

Retorna o nome da 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 dá suporte à leitura ou atualização de acl (listas de Controle de Acesso) de um arquivo ou atributos de proprietário de 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 runtime não a retorne de invocações futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Herdado de IJavaPeerable)

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a