我如何在 liferay 7.3.6 中将(用户和组织)作为 portlet
Posted
技术标签:
【中文标题】我如何在 liferay 7.3.6 中将(用户和组织)作为 portlet【英文标题】:How do I make ( Users and Organizations ) as a portlet in liferay 7.3.6 【发布时间】:2021-08-16 20:57:56 【问题描述】:我正在尝试将“用户和组织”用作 portlet。
我已经尝试过this outdated (6.x) article 中提到的方法,但它不起作用。
【问题讨论】:
【参考方案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 中提供对它的访问,而无需打开其他所有内容。这是常规角色和权限配置的一部分,也不需要任何代码行。
【讨论】:
以上是关于我如何在 liferay 7.3.6 中将(用户和组织)作为 portlet的主要内容,如果未能解决你的问题,请参考以下文章
如何向 Liferay 中新创建的用户授予 Alfresco 权限