我正在尝试基于 documentation of Liferay 向 Liferay-Portlet 添加权限.由于 Portlet 将在 war-package 中交付,因此我想在 Portlet 本身内部维护 Portlet 的权限定义。
我创建了一个具有以下内容的文件 resource-actions.xml(portlet-name 与 portlet.xml 和 liferay-*.xml 中指定的名称相同):
<?xml version="1.0"?>
<resource-action-mapping>
<portlet-resource>
<portlet-name>test-portlet</portlet-name>
<supports>
<action-key>SELECT</action-key>
<action-key>VIEW</action-key>
<action-key>TEST_PERM</action-key>
</supports>
<community-defaults>
<action-key>VIEW</action-key>
</community-defaults>
<guest-defaults>
<action-key>VIEW</action-key>
</guest-defaults>
</portlet-resource>
没有定义模型资源,因为首先我只想看看 Liferay 是否加载了我在映射文件中设置的权限。
我把文件放在文件夹中
- 网络信息
- WEB-INF/类
- 在 Liferay 的 portal-impl.jar 中
- ...
但是新权限 TEST_PERM 没有显示在控制面板 -> 角色 -> 定义权限 -> 添加 Portlet 权限 -> test-portlet 下。有谁知道,我在这里做错了什么?
最佳答案
我在 Liferay 官方论坛上发布了这个问题并得到了很好的回复:
I've faced this before and placed resource file in \WEB-INF\classes\resource-actions my resource-actions.zip is attached. hope it helps
更新:
Liferay 论坛链接:Where to place resource-action-mapping in Liferay-Portlet?
关于permissions - Liferay-Portlet 中的资源 Action 映射应该放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2536976/