liferay Portal CE6.2 新開發portlet如何設置權限(Security and Permission resources )

在你新建的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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章