Liferay中给定角色的专用WebContent

Liferay中给定角色的专用WebContent,liferay,Liferay,我想创建给定角色无法可视化的web内容 例如,假设我有普通用户和plus用户角色。 我想创建一个只有plus用户才能看到的Web内容 如果我创建一个WebContent并仅为plus用户启用其“查看”权限,并在WebContent显示portlet中显示该WebContent,则普通用户可以查看它。这是预期的行为吗?我已禁用每个角色的默认查看权限,即使是默认来宾角色 我肯定遗漏了什么,因为我相信这应该是一个相当标准和明显的特性 谢谢 更新 看来我误解了我如何观察我的变化所带来的影响 我所描述的配

我想创建给定角色无法可视化的web内容

例如,假设我有普通用户和plus用户角色。 我想创建一个只有plus用户才能看到的Web内容

如果我创建一个WebContent并仅为plus用户启用其“查看”权限,并在WebContent显示portlet中显示该WebContent,则普通用户可以查看它。这是预期的行为吗?我已禁用每个角色的默认查看权限,即使是默认来宾角色

我肯定遗漏了什么,因为我相信这应该是一个相当标准和明显的特性

谢谢

更新 看来我误解了我如何观察我的变化所带来的影响

我所描述的配置似乎有效。尽管如此,web内容仅在使用web内容列表portlet列出web内容时才隐藏。如果我单独设置一个Web内容显示portlet来显示私有内容,任何角色都可以看到它,即使它没有权限。如果我将URL共享到web内容,也会发生同样的情况


因此,我现在的问题是:忽略查看权限是Web内容显示portlet的默认行为?对于Asset Publisher portlet,这不会发生。如果角色没有对web内容的查看权限,则在列出和查看web内容时会隐藏该内容。

这应该是实现您的目的的正确过程:

  • 拒绝来宾角色和您的普通用户角色对所有web内容的任何权限(控制面板>角色>来宾|普通用户>定义权限)
  • 一个接一个地确保web内容没有被来宾和普通用户看到的授权
  • 然而,这并不是一个最佳实践,因为从现在起,除非您指定给他一个特定的角色,否则在您的门户中没有人可以看到任何web内容

    如果可以的话,我建议您不要在这样高的通用级别上管理问题,而是在较低的特定级别上管理问题,例如,您可以直接在web内容模板中检查用户的角色,并且只有当该用户具有适当的角色时,您才能显示内容

    另一个解决方法是将web内容放在私有页面中,这样您可以确保只有站点成员才能看到它

    编辑

    您的问题似乎很奇怪,所以我启动了本地门户,它是Liferay 6.2。我只拒绝了对我的单个web内容的查看权限(图1),而来宾用户无法看到它(图2)。PS所有其他权限都是默认权限

    我也编辑了我的原始答案,因为我错了,第一点是谎言

    重新检查您的所有门户权限,因为这比我们想象的要容易!:)


    在web内容级别和模板级别设置权限有什么区别?忽略这样一个事实,即禁用来宾角色查看权限将在默认情况下阻止任何人可视化web内容。PS:我用新信息更新了我的问题对不起,我不是想通过模板设置角色,而是检查权限(或者更简单地说,如果用户有某个角色)。在velocity/freemarker模板中,您可以实例化门户中可用的所有类,因此您可以使用所有方法读取用户角色,循环角色,如果用户有您的plus用户,则显示内容,否则会显示类似的错误消息。是的,您是正确的。但我希望实现这种隐藏具有Liferay默认功能的内容的行为。无需进行一些自定义代码更改。至少现在是这样。我很难相信这不是一个明显的特征。虽然这并不能解决我的问题,但我还是会给你的答案打分:)编辑过的答案,希望能有所帮助。顺便说一句,我已经开始看Liferay的源代码了。在我看来,在列出时,权限是经过验证的(journal\u articles/view.jsp)。但是在查看内容(journal\u content/view.jsp)时,权限检查没有被检查。但我必须更好地证实这一点。主要是看这些文件是否正确。