在你新建的PORTLET工程Src 下加入:
resource-actions/default.xml
portlet.properties
default.xml:
<?xml version="1.0"?>
<resource-action-mapping>
<portlet-resource>
<portlet-name>portlet-name</portlet-name>
<supports>
<action-key>ADD</action-key>
<action-key>PUBLISH</action-key>
<action-key>DELETE</action-key>
</supports>
<community-defaults>
<action-key>ADD</action-key>
<action-key>VIEW</action-key>
</community-defaults>
<guest-defaults>
<action-key>VIEW</action-key>
</guest-defaults>
<guest-unsupported>
<action-key>ADD</action-key>
<action-key>PUBLISH</action-key>
</guest-unsupported>
</portlet-resource>
<portlet-resource>
<portlet-name><span style="font-family: Arial, Helvetica, sans-serif;">portlet-name</span><span style="font-family: Arial, Helvetica, sans-serif;"></portlet-name></span>
<supports>
<action-key>ADD</action-key>
<action-key>PUBLISH</action-key>
<action-key>DELETE</action-key>
</supports>
<community-defaults>
<action-key>ADD</action-key>
<action-key>VIEW</action-key>
</community-defaults>
<guest-defaults>
<action-key>VIEW</action-key>
</guest-defaults>
<guest-unsupported>
<action-key>ADD</action-key>
<action-key>PUBLISH</action-key>
</guest-unsupported>
</portlet-resource>
</resource-action-mapping>
portlet.properties:
include-and-override=portlet-ext.properties
resource.actions.configs=resource-actions/default.xml
瀏覽頁面控制button:
String rootPortletId = portletDisplay.getRootPortletId();
String resourcePK = portletDisplay.getResourcePK();
<pre name="code" class="html">boolean write = false;
boolean publish = false;
boolean delete = false;
List<ResourceAction> raList = ResourceActionLocalServiceUtil.getResourceActions(rootPortletId);//取得該portlet所有的resource
write = permissionChecker.hasPermission(scopeGroupId, rootPortletId, resourcePK, "ADD");//檢查該用戶是否有權限該操作
//示例,調用新增頁面
<liferay-portlet:renderURL windowState="<%= WindowState.MAXIMIZED.toString() %>" var="addArticleURL" portletName="<%= PortletKeys.JOURNAL %>"><portlet:param name="struts_action" value="/journal/edit_article" />
<portlet:param name="portletResource" value="<%= portletDisplay.getId() %>" />
<portlet:param name="referringPortletResource" value="<%= PortletKeys.JOURNAL_CONTENT %>" />
<portlet:param name="columnId" value="<%= String.valueOf(columnId) %>" />
<portlet:param name="structureId" value="<%= structureId %>" />
<portlet:param name="templateId" value="<%= templateId %>" />
<portlet:param name="write" value="<%= String.valueOf(write) %>" />
<portlet:param name="publish" value="<%= String.valueOf(publish) %>" />
<portlet:param name="showSelectButton" value="false" />
<portlet:param name="redirect" value="<%= PortalUtil.getCurrentURL(request) %>" />
</liferay-portlet:renderURL>
<liferay-ui:icon
image="add_article"
message="add-web-content"
url="<%= addArticleURL %>"
/>
如何定義一個role的權限:
傳圖不方便,只能打了。
控制面板 --- 角色 ---新建一個角色 --- 點擊“操作” 選擇 “定義權限” --- 站點管理 --- 應用程序 --- 先把新建的PORTLET --- 勾選權限,確認即可。
參考地址:https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/adding-and-deleting-resources