CQ5 - Masquage d'un onglet à l'intérieur d'une boîte de dialogue de composant en fonction du groupe d'utilisateur?
Aucune idées de comment je pourrais cacher ou d'afficher une boîte de dialogue de l'onglet du panneau en fonction de l'utilisateur groupe auquel appartient l'utilisateur?
J'ai essayé de le faire par le biais de la CRX contenu des explorateurs (ACL). Mais je ne reçois pas beaucoup de chance avec elle.
Acclamations
Vous devez vous connecter pour publier un commentaire.
Comme l'a noté anthonyh, le ACL approche est le chemin à parcourir (si un tel comportement est vraiment nécessaire).
Par exemple, pour masquer l'onglet "image" de la page de base de la composante:
/libs/foundation/components/page/dialog/items/tabs/items/image
deny jcr:read
pourauthor
Noter qu'en cas d'onglets inclus avec
xtype=cqinclude
vous devez définir sur les inclure lui-même, pas inclus dans la définition. Parce qu'à l'exécution, il ne se plaindrait plus de manquants de la cible de l'inclure et de ne pas rendre le dialogue à tous.Ceci peut être accompli avec un servlet et une boîte de dialogue de l'écouteur d'événement.
La fonction écouteur fait une demande à la servlet, en passant l'ID de l'utilisateur courant et le groupe de votre choix. La boîte de dialogue de l'onglet peut être masqué basé sur la réponse de servlet.
Voici un exemple dialog.xml pour un CQ5 composant:
Et voici le correspondant de servlet:
Une question vient à l'esprit...Pourquoi voulez-vous de limiter le contrôle d'une création de dialogue et de supprimer un onglet?
Il n'y a aucune raison pourquoi les Acl ne fonctionnerait pas pour cela. Avez-vous mis à être assez restrictive de l'onglet? Avez-vous été un test avec un utilisateur non-administrateur? Je serais prudent à l'aide de quelque chose de si code-lourds pour résoudre un problème d'accès.
Personnellement si les Acl ne fonctionne pas aussi bien que souhaité, je serais d'explorer la création d'un nouveau widget basé sur la tabpanel xtype plutôt que d'une solution de code qui peut terminer comme étant spécifiques à une version de CQ5.
Ma Réponse: L'Utilisation Des Acl.
Veuillez jeter un oeil à ces vaguement liées à des documents officiels - même principe mais objectif différent:
http://dev.day.com/content/kb/home/cq5/CQ5SystemAdministration/CQ53HowToHideCQNavigationButtons.html
et
http://dev.day.com/docs/en/cq/current/administering/security.html