L'ordine dei nodi non viene conservato quando si usano ACL di rep:glob | AEM 6.0-6.2, Oak 1.x

Problema

Quando si concede a un utente (o gruppo) l'accesso a un nodo madre JCR ordinato ma non ai nodi figli, quando l'utente che ha quell'accesso accede, l'ordine del nodo figlio sotto quel nodo non viene conservato.
Ecco un esempio che dimostra il problema:

  1. Crea una cartella sling:OrderedFolder nominata "mysites".

  2. Crea sette pagine nella cartella di cui sopra chiamate "uno", "due", ..., "sette".

  3. Crea due nuovi gruppi -- testGroup e testGlobalGroup.

  4. Crea un account "testUser" e aggiungilo come membro dei due gruppi nel passaggio 3.

  5. Aggiungi le seguenti autorizzazioni per testGlobalGroup.

     "read" for "/"
              "read" for "/content/mysites" with glob for "jcr:primaryType"
              "read" for "/content/mysites" with glob for "" 
  6. Aggiungi le seguenti autorizzazioni per il testGroup:

    deny read access for the page "two", "four" and "six" 
  7. Effettua il login come "testUser" e verifica l'ordine delle pagine all'interno della cartella "mysites".

Causa

Questo è dovuto ad un bug nell'archivio JCR Oak dove gli ACL di rep:glob vengono applicati alle proprietà nascoste - https://issues.apache.org/jira/browse/OAK-5354.

Risoluzione

Questo è stato corretto in AEM6.3 e versioni successive. 

Tuttavia, è possibile aggirare questo bug nelle versioni precedenti facendo quanto segue:

  1. Vai su http://host:port/crx/de/index.jsp e accedi come amministratore.

  2. Passa al nodo madre.

  3. Fai clic sulla scheda "Controllo accessi" nel pannello in basso a destra.

  4. Crea la seguente voce del Controllo Accessi facendo clic sull'icona a forma di più verde nell'opzione 
    Allow, jcr:read, rep:glob=/:childOrder.

Di seguito è riportato uno screenshot di come potrebbe essere l'ACL dopo questo passaggio:

 Adobe

Ottieni supporto in modo più facile e veloce

Nuovo utente?