Liferay AUI createUrl() - 拒绝流程操作
Liferay AUI createUrl() - Reject process action
我目前正在尝试使用 aui 在数据表中自动生成 actionUrls。
我已经在使用格式化程序生成链接,但是,一旦我尝试使用其中一个链接执行操作,它就会被拒绝并且不会执行该操作。我假设这是跨站点脚本保护措施的一部分。
[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 参数,或者您有 3 个选项来跳过这种情况:
Editing portal-ext.properties:
auth.token.ignore.actions=....
Adding init-param to portlet.xml:
<init-param>
<name>check-auth-token</name>
<value>false</value>
</init-param>
Editing portal-ext.properties (NOT RECOMMENDED)
auth.token.check.enabled=true
我目前正在尝试使用 aui 在数据表中自动生成 actionUrls。
我已经在使用格式化程序生成链接,但是,一旦我尝试使用其中一个链接执行操作,它就会被拒绝并且不会执行该操作。我假设这是跨站点脚本保护措施的一部分。
[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 参数,或者您有 3 个选项来跳过这种情况:
Editing portal-ext.properties:
auth.token.ignore.actions=....
Adding init-param to portlet.xml:
<init-param>
<name>check-auth-token</name>
<value>false</value>
</init-param>
Editing portal-ext.properties (NOT RECOMMENDED)
auth.token.check.enabled=true