我需要仅在用户登录时显示特定的 portlet。
我的问题是处理这种要求的适当方法是什么。我应该通过使用代码来处理它吗
renderRequest.setAttribute(WebKeys.PORTLET_CONFIGURATOR_VISIBILITY, Boolean.FALSE);
或者这种配置是使用 portlet 的角色或任何类型的门户属性完成的吗?
根据我的理解,这可以通过向 portlet 添加角色来处理,但我不确定在何处以及如何设置 portlet 角色。
请您参考如下方法:
您可以简单地从 Portlet 配置 -> 权限选项卡中删除 GUEST 角色的 Portlet 的 VIEW 权限。
这样,GUEST 用户将看到如下错误消息:您没有访问此 portlet 的权限。
如果您想避免此消息,您可以覆盖门户属性 layout.show.portlet.access.denied
值错误。这将适用于每个 portlet 的门户级别。
如果您想隐藏特定于 portlet 的权限错误消息,那么您可以在 portlet.xml 中定义初始化参数 show-portlet-access-denied
值为假。
HTH