IAclFileAttributeView Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL).
[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
- Implementaciones
Comentarios
Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL).
Las ACL se usan para especificar derechos de acceso a objetos del sistema de archivos. Una ACL es una lista ordenada de AclEntry access-control-entries
, cada una de las cuales especifica un UserPrincipal
y el nivel de acceso para esa entidad de seguridad de usuario. Esta vista de atributo de archivo define los #getAcl() getAcl
métodos , y #setAcl(List) setAcl
para leer y escribir ACL en función del modelo de ACL especificado en RFC 3530: Protocolohttp://www.ietf.org/rfc/rfc3530.txt 4 del sistema de archivos de red (NFS). Esta vista de atributos de archivo está pensada para implementaciones del sistema de archivos que admiten el modelo de ACL NFSv4 o tienen una <asignación em>bien definida</em> entre el modelo de ACL NFSv4 y el modelo de ACL usado por el sistema de archivos. Los detalles de dicha asignación dependen de la implementación y, por tanto, no se especifican.
Esta clase también se FileOwnerAttributeView
extiende para definir métodos para obtener y establecer el propietario del archivo.
Cuando un sistema de archivos proporciona acceso a un conjunto de FileStore file-systems
que no son homogéneos, solo algunos de los sistemas de archivos pueden admitir ACL. El FileStore#supportsFileAttributeView supportsFileAttributeView
método se puede usar para probar si un sistema de archivos admite ACL.
<h2>Interoperabilidad</h2>
RFC 3530 permite usar identidades de usuario especiales en plataformas que admiten los permisos de acceso definidos por POSIX. Las identidades de usuario especiales son "", "OWNER@
GROUP@
" y "EVERYONE@
". Cuando se admiten las AclFileAttributeView
identidades de usuario y PosixFileAttributeView
, estas identidades de usuario especiales se pueden incluir en la ACL AclEntry entries
que se leen o escriben. El sistema de UserPrincipalLookupService
archivos se puede usar para obtener un UserPrincipal
para representar estas identidades especiales invocando el UserPrincipalLookupService#lookupPrincipalByName lookupPrincipalByName
método .
<b>Ejemplo de uso:</b> Supongamos que queremos agregar una entrada a una ACL existente para conceder acceso "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> Acceso <dinámico /h2>
Cuando se requiere acceso dinámico a los atributos de archivo, los atributos admitidos por esta vista de atributo son los siguientes: <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
/tr<>/tbody<>/table></blockquote>
El Files#getAttribute getAttribute
método se puede usar para leer la ACL o los atributos de propietario como si invocara los #getAcl getAcl
métodos o #getOwner getOwner
.
El Files#setAttribute setAttribute
método se puede usar para actualizar la ACL o los atributos de propietario como si invocara los #setAcl setAcl
métodos o #setOwner setOwner
.
<h2> Establecer la ACL al crear un archivo </h2>
Las implementaciones que admiten esta vista de atributo también pueden admitir la configuración de la ACL inicial al crear un archivo o directorio. La ACL inicial se puede proporcionar a métodos como Files#createFile createFile
o Files#createDirectory createDirectory
como FileAttribute
con FileAttribute#name name
"acl:acl"
y que FileAttribute#value value
es la lista de AclEntry
objetos .
Cuando una implementación admite un modelo de ACL que difiere del modelo de ACL definido por NFSv4, el establecimiento de la ACL inicial al crear el archivo debe traducir la ACL al modelo admitido por el sistema de archivos. Los métodos que crean un archivo deben rechazar (iniciando IOException IOException
) cualquier intento de crear un archivo que sería menos seguro como resultado de la traducción.
Agregado en la versión 1.7.
Documentación de Java para java.nio.file.attribute.AclFileAttributeView
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Propiedades
Acl |
Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL). |
Handle |
Obtiene el valor JNI del objeto Android subyacente. (Heredado de IJavaObject) |
JniIdentityHashCode |
Devuelve el valor de |
JniManagedPeerState |
Estado del mismo nivel administrado. (Heredado de IJavaPeerable) |
JniPeerMembers |
Compatibilidad con la invocación y el acceso de miembros. (Heredado de IJavaPeerable) |
Owner |
Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL). (Heredado de IFileOwnerAttributeView) |
PeerReference |
Devuelve una JniObjectReference de la instancia de objeto Java ajustada. (Heredado de IJavaPeerable) |
Métodos
Disposed() |
Se llama cuando se ha eliminado la instancia. (Heredado de IJavaPeerable) |
DisposeUnlessReferenced() |
Si no hay referencias pendientes a esta instancia, llama a |
Finalized() |
Se llama cuando se ha finalizado la instancia. (Heredado de IJavaPeerable) |
Name() |
Devuelve el nombre de la vista de atributo. |
SetJniIdentityHashCode(Int32) |
Establezca el valor devuelto por |
SetJniManagedPeerState(JniManagedPeerStates) |
Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL). (Heredado de IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Establezca el valor devuelto por |
UnregisterFromRuntime() |
Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue . (Heredado de IJavaPeerable) |
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL). |
GetJniTypeName(IJavaPeerable) |
Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL). |