0
現在、auiを使用してデータテーブルにactionUrlを自動的に生成しようとしています。Liferay AUI createUrl() - プロセスの拒否の処置
私はすでにフォーマッタを使用してリンクを生成していますが、リンクの1つを使用してアクションを実行しようとすると、リンクは拒否され、アクションは実行されません。私はこれがクロスサイトスクリプティング保護手段の一部であると仮定しています。
[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の実行を許可することができます方法を知っていますか?
種類は、認証トークンがあなたのアクションURLに存在しない場合に発生 ジョン・スミス
はあなたに感謝。しかし、それをパラメータに追加したいのであれば、私はどのようにauthトークンを取得できますか? –
Liferayこのパラメータをデフォルトでここに追加します: https://web.liferay.com/es/community/wiki/-wiki/Main/Authentication+Token 新しいカスタムアクションまたはポートレットがある場合は、次のプロパティでホワイトリストに追加する必要があるかどうかを確認してください。 "portlet.add.default.resource.check.whitelist" "portlet.add.default.resource.check.whitelist.actions" –