如何根据CQ5中的登录用户隐藏页面?

时间:2014-04-21 14:27:51

标签: cq5

我想根据登录用户隐藏导航组件中的页面。我有两种方法。在CRX-DE中设置页面节点的权限;否认所有用户;然后允许它用于特定的组。我一直在尝试;没有找到太多成功。其他;我可以在jsp中获取登录用户的id并基于用户组;我可以设置页面的属性“隐藏在导航中”。但我无法找到如何在jsp中设置该属性。请建议。

编辑: 我正在使用默认身份验证。我想在默认的“列表”组件中隐藏导航页面。如果我使用CUG;属于该组的用户仍然可以在列表组件中看到该特定页面的链接;并且会在点击该页面时被要求登录。如果用户属于特定组,我希望隐藏链接本身 感谢。

2 个答案:

答案 0 :(得分:0)

如果您使用AEM中的默认身份验证功能(如Geometrixx),这些功能依赖于AEM中存在的用户,则可以使用封闭用户组。 CUG允许您设置哪些用户或组可以或不可以查看特定页面。您可以在每个页面的页面属性对话框中查看设置CUG的位置。我非常确定CUG设置也会继承页面层次结构。

使用JCR权限是一件非常复杂的事情,因为它是一种低级架构的东西。但是,对于更复杂的解决方案,有时候它是方程式的必要部分。

答案 1 :(得分:0)

我同意ryanluka的意见,当问题可以通过更简单的方法解决时,应该避免使用JCR权限。我修改了默认列表组件的list.jsp。使用Userpropertiesutil提取登录用户的id;并以集团为基础;在jQuery中编写代码以从列表组件中删除该特定页面的div。