【发布时间】:2014-06-02 04:43:37
【问题描述】:
我正在为 Liferay 创建一个启动挂钩脚本,以便在幕后为 Liferay 6.2 添加和预配置角色。 具体来说,我希望添加可以通过“控制面板”>“角色”>“操作”>“定义权限”访问的权限类型。
目前我能够添加 Liferay 角色,但迄今为止未能找到以编程方式将自定义权限添加到角色的正确方法。我看到在以前的 Liferay 版本中有一种方法可以做到这一点,但在这里看不到。
https://www.liferay.com/community/forums/-/message_boards/message/2965424 https://www.liferay.com/web/guest/community/forums/-/message_boards/message/124558
到目前为止,我已经调查了 RolePermissionUtil、RoleLocalServiceUtil 以及其他可用的服务。
让我知道这是否可以通过要添加到启动挂钩的服务获得,或者这是否只能在 UI 中完成。
自这些帖子以来,API 似乎发生了变化。
提前感谢您的帮助
【问题讨论】:
-
使用 ResourcePermissionLocalServiceUtil.setResourcePermissions 和 RoleLocalServiceUtil 解决了这个问题。 RoleLocalServiceUtil.fetchRole(CompanyThreadLocal.getCompanyId(), "角色名称"); ResourcePermissionLocalServiceUtil.setResourcePermissions(CompanyThreadLocal.getCompanyId(), Role.class.getName(), ResourceConstants.SCOPE_GROUP_TEMPLATE, String.valueOf(role.getRoleId()), role.getRoleId(), new String[] {ActionKeys.VIEW, ActionKeys。更新,ActionKeys.DELETE});
标签: liferay-6 roles startupscript resource-id