IAclFileAttributeView Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt.
[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
- Attribute
- Implementiert
Hinweise
Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt.
ACLs werden verwendet, um Zugriffsrechte für Dateisystemobjekte anzugeben. Eine ACL ist eine sortierte Liste von AclEntry access-control-entries
, die jeweils eine UserPrincipal
und die Zugriffsebene für diesen Benutzerprinzipal angibt. Diese Datei-Attributansicht definiert die #getAcl() getAcl
AcLs und #setAcl(List) setAcl
Methoden zum Lesen und Schreiben von ACLs basierend auf dem in RFC angegebenen ACL-Modell; 3530: Network File System (NFS) Version 4 Protocolhttp://www.ietf.org/rfc/rfc3530.txt. Diese Dateiattributeansicht ist für Dateisystemimplementierungen vorgesehen, die das NFSv4-ACL-Modell unterstützen oder eine <em-klar>definierte</em-Zuordnung> zwischen dem NFSv4-ACL-Modell und dem vom Dateisystem verwendeten ACL-Modell aufweisen. Die Details dieser Zuordnung sind von der Implementierung abhängig und daher nicht angegeben.
Diese Klasse wird auch erweitert FileOwnerAttributeView
, um Methoden zum Abrufen und Festlegen des Dateibesitzers zu definieren.
Wenn ein Dateisystem Zugriff auf eine Gruppe von Daten bietet, die FileStore file-systems
nicht homogen sind, unterstützen nur einige der Dateisysteme ACLs. Die FileStore#supportsFileAttributeView supportsFileAttributeView
Methode kann verwendet werden, um zu testen, ob ein Dateisystem ACLs unterstützt.
<h2>Interoperabilität</h2>
RFC 3530 ermöglicht die Verwendung spezieller Benutzeridentitäten auf Plattformen, die die von POSIX definierten Zugriffsberechtigungen unterstützen. Die speziellen Benutzeridentitäten sind "OWNER@
", "GROUP@
" und "EVERYONE@
". Wenn sowohl die als auch die AclFileAttributeView
unterstützten PosixFileAttributeView
werden, können diese speziellen Benutzeridentitäten in ACL AclEntry entries
enthalten sein, die gelesen oder geschrieben werden. Die Dateisysteme UserPrincipalLookupService
können verwendet werden, um eine UserPrincipal
, um diese speziellen Identitäten darzustellen, indem sie die UserPrincipalLookupService#lookupPrincipalByName lookupPrincipalByName
Methode aufrufen.
<b>Verwendungsbeispiel:</b> Angenommen, wir möchten einer vorhandenen ACL einen Eintrag hinzufügen, um "joe" Zugriff zu gewähren:
// 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> Dynamischer Zugriff </h2>
Wenn der dynamische Zugriff auf Dateiattribute erforderlich ist, sind die von dieser Attributansicht unterstützten Attribute wie folgt: <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
<UserPrincipal
/tr<>/tbody<>/table></blockquote>
Die Files#getAttribute getAttribute
Methode kann verwendet werden, um die ACL- oder Besitzerattribute zu lesen, als ob sie die #getAcl getAcl
Methoden aufrufen #getOwner getOwner
.
Die Files#setAttribute setAttribute
Methode kann verwendet werden, um die ACL- oder Besitzerattribute zu aktualisieren, als ob sie die #setAcl setAcl
Methoden aufrufen #setOwner setOwner
.
<h2> Festlegen der ACL beim Erstellen einer Datei </h2>
Implementierungen, die diese Attributansicht unterstützen, können auch das Festlegen der anfänglichen ACL beim Erstellen einer Datei oder eines Verzeichnisses unterstützen. Die anfängliche ACL kann Methoden wie Files#createFile createFile
z. B. ein FileAttribute
With FileAttribute#name name
"acl:acl"
und Files#createDirectory createDirectory
eine FileAttribute#value value
Liste von AclEntry
Objekten zur Verfügung gestellt werden.
Wenn eine Implementierung ein ACL-Modell unterstützt, das sich vom nfSv4-definierten ACL-Modell unterscheidet, muss beim Erstellen der Datei die ACL in das vom Dateisystem unterstützte Modell übersetzt werden. Methoden, die eine Datei erstellen, sollten alle Versuche zum Erstellen einer Datei ablehnen (durch Auslösen IOException IOException
), die aufgrund der Übersetzung weniger sicher wäre.
In 1.7 hinzugefügt.
Java-Dokumentation für java.nio.file.attribute.AclFileAttributeView
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Eigenschaften
Acl |
Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt. |
Handle |
Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab. (Geerbt von IJavaObject) |
JniIdentityHashCode |
Gibt den Wert |
JniManagedPeerState |
Status des verwalteten Peers. (Geerbt von IJavaPeerable) |
JniPeerMembers |
Mitgliedszugriff und Aufrufunterstützung. (Geerbt von IJavaPeerable) |
Owner |
Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt. (Geerbt von IFileOwnerAttributeView) |
PeerReference |
Gibt eine JniObjectReference der umbrochenen Java-Objektinstanz zurück. (Geerbt von IJavaPeerable) |
Methoden
Disposed() |
Wird aufgerufen, wenn die Instanz verworfen wurde. (Geerbt von IJavaPeerable) |
DisposeUnlessReferenced() |
Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen |
Finalized() |
Wird aufgerufen, wenn die Instanz abgeschlossen wurde. (Geerbt von IJavaPeerable) |
Name() |
Gibt den Namen der Attributansicht zurück. |
SetJniIdentityHashCode(Int32) |
Legen Sie den von |
SetJniManagedPeerState(JniManagedPeerStates) |
Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt. (Geerbt von IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Legen Sie den von |
UnregisterFromRuntime() |
Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt. (Geerbt von IJavaPeerable) |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt. |
GetJniTypeName(IJavaPeerable) |
Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt. |