IAclFileAttributeView Interface
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.
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() getAcl
mé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<AclEntry> 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
<UserPrincipal
></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 |
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 |
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 |
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 |
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. |