【问题标题】:How do I make ( Users and Organizations ) as a portlet in liferay 7.3.6我如何在 liferay 7.3.6 中将(用户和组织)作为 portlet
【发布时间】:2021-08-16 20:57:56
【问题描述】:

我正在尝试将“用户和组织”用作 portlet。

我已经尝试过this outdated (6.x) article 中提到的方法,但它不起作用。

【问题讨论】:

    标签: liferay portlet liferay-7 portal


    【解决方案1】:

    完全无需任何代码即可完成此操作,但您需要进行大量配置。

    portlet 是一个 OSGi 组件。首先,弄清楚实现类。 URL 给出了提示,因为它包含com_liferay_users_admin_web_portlet_UsersAdminPortlet。但是,在这种情况下,这只是关键。 grep 源代码,或使用任何其他方式查找它的使用位置,您将到达com.liferay.users.admin.web.internal.portlet.UsersAdminPortlet。如果你查看它的属性配置,你会发现这一行

    "com.liferay.portlet.display-category=category.hidden",
    

    如果您猜测这就是 portlet 不能用于任何页面的原因:您是对的。

    现在,任何 OSGi 声明式服务的属性都可以通过创建一个配置文件来更改,您可以将其放入 Liferay 的部署文件夹(如果您愿意,也可以直接放入 osgi/configs)。

    所以,创建一个名为com.liferay.users.admin.web.internal.portlet.UsersAdminPortlet.config 的文件,其中包含单行内容

    com.liferay.portlet.display-category="category.sample"
    

    你已经准备好了。

    但是,定期权限检查可能非常严格,您应该非常清楚,打开这些权限很容易打开安全漏洞(想象一下有人创建了一个完整的管理员帐户,或者将现有帐户变成了一个管理帐户)

    一个更好的方法可能是有选择地只提供适当的权限来操作这个 portlet,并在 ControlPanel 中提供对它的访问,而无需打开其他所有内容。这是常规角色和权限配置的一部分,也不需要任何代码行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多