Para incluir permisos dinámicos aplicados a tipos documentales y reglas se debe añadir una contribución al componente de seguridad DynamicACL de Athento. Para ello se crea el fichero athento-dynamicacls-config.xml en /var/lib/nuxeo/server/nxserver/config.
Dentro de él se añade la contribución de este modo:
Incluimos dynamic acls con reglas:
<dynamicAcl name="dynamic1">
<doctype>File</doctype>
<ace principal="expr:@{'readers_' + doc.getPropertyValue('dc:title')}" permission="ReadWrite">
<rule>doc.getPropertyValue('dc:title') == 'FileTest'</rule>
</ace>
<ace principal="expr:@{doc.getPropertyValue('complex:property')}" complexField="mapValue"
complexPattern="%_readers" permission="ReadWrite" />
</dynamicAcl>
<dynamicAcl name="dynamic2" overwrite="true" blockInheritance="true">
<doctype>File</doctype>
<doctype>Image</doctype>
<ace principal="expr:@{'readers_' + doc.getPropertyValue('dc:title')}" permission="ReadWrite" />
<ace principal="MyGroup" permission="ManageAll" />
</dynamicAcl>
Para deshabilitar uno existente:
<dynamicAcl name="dynamic1" enabled="false" />
Por defecto se añade dynamic acls a carpetas:
<dynamicAcl name="local" overwrite="false">
<doctype>Folder</doctype>
<ace principal="@{doc.getPropertyValue('dc:title') + '_readers'}" />
<ace principal="@{doc.getPropertyValue('dc:title') + '_writers'}" />
<ace principal="@{doc.getPropertyValue('dc:title') + '_admin'}" />
</dynamicAcl>
Soportando metadatos complejos en la inclusión de aces:
<ace principal="expr:@{doc.getPropertyValue('metadata:complex')}" complexField="complexField"
permission="ReadWrite">
Comments
0 comments
Please sign in to leave a comment.