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 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 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() getAclAcLs 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:
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 Files#createDirectory createDirectory With FileAttributeFileAttribute#name name und "acl:acl" 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 von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Eigenschaften
| Name | Beschreibung |
|---|---|
| Acl |
Ruft die Zugriffssteuerungsliste für die Datei ab oder legt sie fest. |
| 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 |
Dient zum Abrufen oder Festlegen des Besitzers der Datei. (Geerbt von IFileOwnerAttributeView) |
| PeerReference |
Gibt eine JniObjectReference der umbrochenen Java Objektinstanz zurück. (Geerbt von IJavaPeerable) |
Methoden
| Name | Beschreibung |
|---|---|
| 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 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
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Access Control Lists (ACL) oder Dateibesitzerattribute einer Datei unterstützt. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |