仅在用户登录时显示portlet

Pra*_*oti 2 java portlet liferay liferay-6

我要求只有在用户登录时才显示特定的portlet.我的问题是处理这种要求的适当方法.我应该通过使用代码来处理它

renderRequest.setAttribute(WebKeys.PORTLET_CONFIGURATOR_VISIBILITY,Boolean.FALSE);

或者这种配置是使用portlet的角色还是任何类型的门户网站属性完成的?

根据我的理解,这可以通过向portlet添加角色来处理,但我不确定在何处以及如何设置portlet角色.

Pan*_*iya 6

您只需从Portlet配置 - >权限选项卡中删除Portlet for GUEST Role的VIEW权限.

这样,GUEST用户将看到如下错误消息:您无权访问此portlet.

如果要避免此消息,可以将portal属性覆盖layout.show.portlet.access.denied为false.这将适用于每个portlet的门户级别.

如果要隐藏特定于portlet的权限错误消息,则可以在portlet.xml中将init参数定义show-portlet-access-denied为false.

HTH