2016-11-07 49 views
0

我试图在Liferay中上传文件,我累了去上传“大”文件大小(超过2MB)。随着日志Liferay:[SecurityPortletContainerWrapper:630]拒绝进程动作

[SecurityPortletContainerWrapper:630]拒绝处理动作

<%@ include file="/init.jsp"%> 
<portlet:actionURL var="intergrateURL" name="intergrate" /> 
<aui:form method="post" action="<%=intergrateURL.toString() %>" 
enctype="multipart/form-data"> 
    <aui:input name="messagContent1" /> 
    <aui:input name="messagContent2" /> 
    <aui:input name="uploadFileHere" type="file"/> 
    <aui:button value="submit" type="submit"/> 
</aui:form> 

Portlet操作:

public class IntergratePortlet extends MVCPortlet { 

public void intergrate(ActionRequest actionRequest, 
     ActionResponse actionResponse) { 

    UploadPortletRequest uploadPortletRequest = PortalUtil 
      .getUploadPortletRequest(actionRequest); 

    String messageContent1 = uploadPortletRequest.getFullFileName("uploadFileHere"); 
    String messageContent2 = ParamUtil.getString(actionRequest, 
      "messagContent2"); 

    InputStream fileInputStream = null; 
    byte[] fileByteArray; 

    MessageContentBean messageContentBean = new MessageContentBean(); 

    messageContentBean.setMessageContent1(messageContent1); 
    messageContentBean.setMessageContent2(messageContent2); 

    try { 
     fileInputStream = uploadPortletRequest.getFileAsStream("uploadFileHere"); 
     fileByteArray = ReceiveMessage.convertInputStreamToByteArray(fileInputStream); 
     messageContentBean.setFileMessage(fileByteArray); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    SendJmsMessage sendJmsMessage = new SendJmsMessage(); 
    sendJmsMessage.doSendMessage("103.74.121.22", messageContentBean); 
    // sendJmsMessage.doSendMessage("127.0.0.1", messageContentBean); 
} 

}

回答

1

有2个选项:

选项1:

下方添加到您的portlet.xml支持Liferay禁用CSRF保护:

<init-param> 
     <name>check-auth-token</name> 
     <value>false</value> 
    </init-param> 

选项2:

更改$ {} liferay_installed_dir /门户-EXT .properties添加如下:

auth.token.ignore.portlets = $ {form} _WAR _ $ {portlet}

建议您使用“选项1”,详情请参阅this post

有关如何禁用每个动作CSRF请搜索Liferay的正式文件/维基与关键词:

  • “portlet.add.default.resource.check.whitelist”
  • “portlet.add.default .resource.check.whitelist.action“