Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > Übersicht tags


ACLs über JavaScript setzen und vererben

Eine ACL setzen


Mithilfe des nachfolgenden Skripts setzen Sie ACLs. Es findet keine Vererbung statt.

Beispiel

let objects = require('common/objects');
let obj = objects.find('<uuid>');

// Ordner "folder"
folder.add(obj);
obj.acl = folder.acl;  // ACL auf den des Ordners gesetzt

// Hier wird ein explizites ACL gesetzt
obj.acl = objects.find('acl:published');

Eine ACL vererben


Mithilfe des nachfolgenden Skripts ersetzen Sie alle vorherigen ACLs in dieser Struktur.

Beispiel

let objects = require('common/objects');
let transaction = require('common/transaction');

let setAcl = (objectId, aclName) => {
  let object = objects.find(objectId);
  let acl = objects.find('acl:' + aclName);

  transaction(t => {
    let count = 0;

    let recurse = object => {
      object.acl = acl;

      if (++count > 100) {
        t.restart();
        count = 0;
      }

      if (object.isFolder) {
        object.items().forEach(recurse);
      }
    };

    recurse(object);
  });
};

setAcl('/agorum/roi/Files/SampleFolder', 'ACL_Sample');