2014-10-07 69 views
1

我想创建无法通过给定角色可视化的网页内容。Liferay中给定角色的私人WebContent

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

如果我创建了一个WebContent并为其启用了“查看”权限,并且仅将此WebContent显示在WebContent显示portlet中,那么普通用户可以查看它。这是预期的行为?我已经禁用了每个角色的默认View权限,甚至默认的guest角色。

我一定错过了一些东西,因为我相信这应该是一个非常标准和明显的特征。

感谢

更新 那么它似乎我是误解我怎么能看到我的变化的影响的方式。

看来,我描述的配置工作。虽然,只有在使用Web Content List portlet列出Web内容时才会隐藏Web内容。如果我单独设置Web内容显示portlet以显示私人内容,即使没有权限,任何角色都可以看到它。同样的情况发生如果我将网址分享给网页内容。

所以我现在的问题是:忽略视图权限是Web Content Display portlet的默认行为?使用Asset Publisher portlet时,不会发生这种情况。如果角色没有查看该内容的权限,则在列出和查看时,Web内容将处于隐藏状态。

回答

1

这应该是正确的步骤,以达到你的目的:

  1. 拒绝所有网页内容的客串角色,和你的普通用户角色(控制面板>角色>游客的任何许可|普通用户>定义权限
  2. 可以肯定,一个接一个,该网页内容没有授权的客人和普通用户可以看到

如何从现在起,在您的门户网站中,除非您为他指定特定角色,否则任何人都无法看到任何网络内容。

如果可以,我建议你不要在这个较高的通用级别上处理问题,而应该在较低的特定级别上处理问题,例如,您可以直接在Web内容模板中检查用户的角色,并且仅当该用户具有您显示内容的适当角色。

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

编辑

你的问题似乎很奇怪,所以我开始了我的地方门户,它的一个Liferay的6.2。我只拒绝了我的单个网页内容的查看权限(图片1),而访客用户无法看到它(图片2)。 PS所有其他权限是默认的。

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

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

enter image description here enter image description here

+0

是在什么网页内容层面和模板级别设置权限之间的区别?忽略禁用访客角色视图权限的事实会阻止任何人默认可视化Web内容。 PS:我已经用新信息更新了我的问题 – 2014-10-07 13:45:29

+0

对不起,我不是想通过模板设置角色,而是检查权限(或者更简单地说,如果用户具有特定角色)。在velocity/freemarker模板中,您可以实例化门户中可用的所有类,以便您可以使用所有方法来读取用户的角色,循环角色,并且如果用户有正用户,则显示内容,否则显示错误消息相似的东西。 – 2014-10-07 13:56:54

+0

是的,你是对的。但是我想实现用Liferay的默认功能隐藏内容的行为。无需进行一些自定义代码更改。最起码到现在。我很难相信这不是一个明显的特征。虽然它不能解决我的问题,但我会评价你的答案:) – 2014-10-07 14:00:40