我如何将(用户和组织)作为第7.3.6节中的portlet



我正在尝试使用"用户和组织";作为portlet。

我已经尝试过这篇过时的(6.x(文章中提到的,但它不起作用。

这可以在没有任何代码的情况下完成,但您需要相当多的配置。

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中提供对它的访问权限,而不打开其他所有内容。这是常规角色的一部分&权限配置,并且不需要任何代码行。

最新更新