0
我目前正在嘗試使用aui在數據表中自動生成actionUrls。Liferay AUI createUrl() - 拒絕進程操作
我已經使用formater生成鏈接,但是,只要我嘗試使用其中一個鏈接執行操作,它將被拒絕並且操作不會執行。我假設這是跨站點腳本保護措施的一部分。
[http-bio-8080-exec-2][SecurityPortletContainerWrapper:630] Reject process action for /c/portal/layout on functiontest_WAR_functionTestportlet
我生成這樣的鏈接:
<aui:script>
AUI().use(
'aui-datatable',
'datatable-sort',
'datatable-paginator',
'aui-datatable-highlight',
'liferay-portlet-url',
function(A) {
var columns =[{
label : 'ID',
key : 'testVar',
allowHTML : true,
sortable : true,
formatter : function(o) {
var url = Liferay.PortletURL.createActionURL();
url.setWindowState("<%= LiferayWindowState.NORMAL.toString()%>");
url.setPortletMode("<%= LiferayPortletMode.VIEW %>");
url.setPortletId("<%= themeDisplay.getPortletDisplay().getId() %>");
url.setPlid("<%= plid %>");
url.setParameter("javax.portlet.action","actionTest");
url.setParameter("testVar",o.data.testVar);
return '<a href="'+ url +'">' + o.data.TestVar + '</a>';
}
}];
var table = new A.DataTable(
{
...
}
).render('#DataTable');
.....
</aui:script>
有誰知道我怎麼才能讓剛生成的URL的執行,而不禁用安全?
親切的問候 約翰·史密斯
這是偉大的工作,我謝謝你。但是,如果我想將它添加到參數中,我將如何檢索auth令牌? –
Liferay默認添加此參數,因爲它在這裏說: https://web.liferay.com/es/community/wiki/-/wiki/Main/Authentication+Token 如果您有新的自定義操作或portlet,請檢查您是否必須將其添加到具有下列屬性的白名單: 「portlet.add.default.resource.check.whitelist」 「portlet.add.default.resource.check.whitelist.actions」 –