Le classement des nœuds n’est pas conservé lorsque vous utilisez des ACL rep:glob | AEM 6.0-6.2, Oak 1.x

Problème

Lorsque vous accordez à un utilisateur (ou à un groupe) l’accès à un nœud parent JCR ordonné, mais pas aux nœuds enfants, lorsque l’utilisateur se connecte, l’accès à ce nœud enfant n’est pas conservé.
Voici un exemple montrant le problème :

  1. Créez un dossier sling:OrderedFolder nommé « mysites ».

  2. Créez dans le dossier ci-dessus sept pages appelées « un », « deux », ..., « sept ».

  3. Créez deux nouveaux groupes -- testGroup et testGlobalGroup.

  4. Créez un compte « testUser » et ajoutez-le en tant que membre de ces deux groupes à l’étape 3.

  5. Ajoutez les autorisations suivantes pour testGlobalGroup.

     "read" for "/"
              "read" for "/content/mysites" with glob for "jcr:primaryType"
              "read" for "/content/mysites" with glob for "" 
  6. Ajoutez les autorisations suivantes pour testGroup :

    deny read access for the page "two", "four" and "six" 
  7. Connectez-vous en tant que « testUser » et vérifiez l’ordre des pages dans le dossier « mysites ».

Cause

Cela est dû à un bogue dans le référentiel Oak JCR où les ACL rep:glob sont appliquées aux propriétés cachées -https://issues.apache.org/jira/browse/OAK-5354.

Résolution

Ce problème a été corrigé dans AEM 6.3 et versions ultérieures. 

Toutefois, vous pouvez contourner ce problème dans les versions antérieures en procédant comme suit :

  1. Accédez à http://host:port/crx/de/index.jsp et connectez-vous en tant qu’administrateur.

  2. Accédez au nœud parent.

  3. Cliquez sur l’onglet "Access Control" dans le panneau inférieur droit.

  4. Créez l’entrée de contrôle d’accès suivante en cliquant sur l’icône plus verte dans
    Autoriser, jcr:read, rep:glob=/:childOrder.

Voici une capture d’écran de ce à quoi votre liste de contrôle d’accès pourrait ressembler après cela :

 Adobe

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?