有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Liferay 7.1限制了对虚拟实例(公司)的portlet/modules访问

我创建了一个新的虚拟实例

我想知道我是否可以限制我的自定义Portlet可用,并且只添加到一个虚拟实例中

我想知道钩子和碎片是否可以用同样的方式限制? (例如,我有一个用于用户个人栏的片段,还有一个用于登录钩子的钩子。我只想为一个VI激活这些片段,而不是为另一个VI激活它们)

谢谢


共 (1) 个答案

  1. # 1 楼答案

    通过将插件部署到服务器,它们可用于服务器上运行的所有内容,例如所有虚拟实例

    我相信themes有一种声明性的方式来列举它们所应用的companyId(或companyId),但其他插件没有这种方式

    话虽如此,只要再努力一点,你仍然可以实现你所需要的:你的插件很可能可以访问companyId,并且可以自己进行检查。您还可以自定义每个虚拟实例的权限,为虚拟实例上的每个人删除特定Portlet的“添加到页面”权限

    对于片段,您可能会询问JSP片段,因为CMS片段特定于一个站点,甚至不是一个实例。在这里,您必须使用条件:如果您所在的公司ID需要更改:Render。否则:跳过修改。然而,您应该尽可能地减少片段的使用:它们很快就被开发出来了,但很快就会变成维护怪物:您正在处理底层版本的实现级别,没有任何东西可以阻止您在同一个JSP的更高版本中进行更改,而您必须进行三方合并