Condividi tramite


IAclFileAttributeView Interfaccia

Definizione

Visualizzazione dell'attributo di file che supporta la lettura o l'aggiornamento degli attributi di Controllo di accesso elenchi di file (ACL) o di proprietario di file.

[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
Attributi
Implementazioni

Commenti

Visualizzazione dell'attributo di file che supporta la lettura o l'aggiornamento degli attributi di Controllo di accesso elenchi di file (ACL) o di proprietario di file.

Gli ACL vengono usati per specificare i diritti di accesso agli oggetti del file system. Un elenco di controllo di accesso è un elenco ordinato di AclEntry access-control-entries, ognuno dei quali specifica un UserPrincipal oggetto e il livello di accesso per l'entità utente. Questa visualizzazione degli attributi di file definisce i #getAcl() getAclmetodi e #setAcl(List) setAcl per leggere e scrivere ACL in base al modello ACL specificato in RFC  3530: Protocollo NFS (Network File System) versione 4http://www.ietf.org/rfc/rfc3530.txt. Questa visualizzazione attributi file è destinata alle implementazioni del file system che supportano il modello ACL NFSv4 o hanno un <mapping em>ben definito</em> tra il modello ACL NFSv4 e il modello ACL usato dal file system. I dettagli di tale mapping dipendono dall'implementazione e pertanto non sono specificati.

Questa classe si estende FileOwnerAttributeView anche in modo da definire i metodi per ottenere e impostare il proprietario del file.

Quando un file system fornisce l'accesso a un set di FileStore file-systems che non sono omogenei, solo alcuni dei file system possono supportare gli ACL. Il FileStore#supportsFileAttributeView supportsFileAttributeView metodo può essere usato per verificare se un file system supporta gli elenchi di controllo di accesso.

<Interoperabilità< h2>/h2>

RFC  3530 consente l'uso di identità utente speciali su piattaforme che supportano le autorizzazioni di accesso definite POSIX. Le identità utente speciali sono "", "OWNER@GROUP@" e "EVERYONE@". Quando sono supportati sia e AclFileAttributeViewPosixFileAttributeView , queste identità utente speciali possono essere incluse nell'elenco di controllo AclEntry entries di accesso che vengono lette o scritte. Il file system UserPrincipalLookupService può essere usato per ottenere un UserPrincipal oggetto per rappresentare queste identità speciali richiamando il UserPrincipalLookupService#lookupPrincipalByName lookupPrincipalByName metodo .

<b>Esempio di utilizzo:</b> Si supponga di voler aggiungere una voce a un elenco di controllo di accesso esistente per concedere l'accesso "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> Dynamic Access </h2>

Se è necessario l'accesso dinamico agli attributi di file, gli attributi supportati da questa visualizzazione attributi sono i seguenti: <blockquote><table class="striped"><caption style="display:none">Supported attributes</caption><thead><tr><th scope="col" Name </th th><scope="col"> Type </th></tr></thead><tbody><tr><th scope="row"> "acl"></th><Td>List<> </Td></tr tr>><<th scope="row" "owner" <> /th<>td/td>><<UserPrincipal/tr<>/tbody<>/table></blockquote>

Il Files#getAttribute getAttribute metodo può essere utilizzato per leggere gli attributi ACL o owner come se richiamassero i #getAcl getAcl metodi o #getOwner getOwner .

Il Files#setAttribute setAttribute metodo può essere usato per aggiornare gli attributi ACL o owner come se richiamassero i #setAcl setAcl metodi o #setOwner setOwner .

<h2> Impostazione dell'ACL durante la creazione di un file </h2>

Le implementazioni che supportano questa visualizzazione attributi possono anche supportare l'impostazione dell'elenco di controllo di accesso iniziale durante la creazione di un file o di una directory. L'elenco di controllo di accesso iniziale può essere fornito a metodi come Files#createFile createFile o Files#createDirectory createDirectory con FileAttribute"acl:acl"FileAttribute#name namee un FileAttribute#value value oggetto che rappresenta l'elenco di AclEntry oggetti .

Se un'implementazione supporta un modello ACL diverso dal modello ACL definito da NFSv4, quindi l'impostazione dell'ACL iniziale durante la creazione del file deve convertire l'ACL nel modello supportato dal file system. I metodi che creano un file devono rifiutare (generando IOException IOException) qualsiasi tentativo di creare un file che sarebbe meno sicuro in seguito alla traduzione.

Aggiunta nella versione 1.7.

Documentazione java per java.nio.file.attribute.AclFileAttributeView.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Proprietà

Acl

Visualizzazione dell'attributo di file che supporta la lettura o l'aggiornamento degli attributi di Controllo di accesso elenchi di file (ACL) o di proprietario di file.

Handle

Ottiene il valore JNI dell'oggetto Android sottostante.

(Ereditato da IJavaObject)
JniIdentityHashCode

Restituisce il valore di java.lang.System.identityHashCode() per l'istanza di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)
JniManagedPeerState

Stato del peer gestito.

(Ereditato da IJavaPeerable)
JniPeerMembers

Supporto per l'accesso ai membri e la chiamata.

(Ereditato da IJavaPeerable)
Owner

Visualizzazione dell'attributo di file che supporta la lettura o l'aggiornamento degli attributi di Controllo di accesso elenchi di file (ACL) o di proprietario di file.

(Ereditato da IFileOwnerAttributeView)
PeerReference

Restituisce un JniObjectReference oggetto dell'istanza dell'oggetto Java di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)

Metodi

Disposed()

Chiamato quando l'istanza è stata eliminata.

(Ereditato da IJavaPeerable)
DisposeUnlessReferenced()

Se non sono presenti riferimenti in sospeso a questa istanza, chiama Dispose(); in caso contrario, non esegue alcuna operazione.

(Ereditato da IJavaPeerable)
Finalized()

Chiamato quando l'istanza è stata finalizzata.

(Ereditato da IJavaPeerable)
Name()

Restituisce il nome della visualizzazione attributi.

SetJniIdentityHashCode(Int32)

Impostare il valore restituito da JniIdentityHashCode.

(Ereditato da IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Visualizzazione dell'attributo di file che supporta la lettura o l'aggiornamento degli attributi di Controllo di accesso elenchi di file (ACL) o di proprietario di file.

(Ereditato da IJavaPeerable)
SetPeerReference(JniObjectReference)

Impostare il valore restituito da PeerReference.

(Ereditato da IJavaPeerable)
UnregisterFromRuntime()

Annullare la registrazione di questa istanza in modo che il runtime non lo restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Ereditato da IJavaPeerable)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Visualizzazione dell'attributo di file che supporta la lettura o l'aggiornamento degli attributi di Controllo di accesso elenchi di file (ACL) o di proprietario di file.

GetJniTypeName(IJavaPeerable)

Visualizzazione dell'attributo di file che supporta la lettura o l'aggiornamento degli attributi di Controllo di accesso elenchi di file (ACL) o di proprietario di file.

Si applica a