Отправить параметр в URL с помощью OFBiz

Я хочу завершить параметр в URL-адресе в OFBiz, но получаю эту ошибку от службы безопасности

org.apache.ofbiz.webapp.event.EventHandlerException: Found URL parameter [twCompagneDeRecrutementId] 
passed to secure (https) request-map with uri [showCompagne] with an event that calls service [showCompagne]; 
this is not allowed for security reasons! The data should be encrypted by making it part of the request body (a form field) instead of the request URL. 
Moreover it would be kind if you could create a Jira sub-task of https://issues.apache.org/jira/browse/OFBIZ-2330 (check before if a sub-task for this error does not exist). If you are not sure how to create a Jira issue please have a look before at http://cwiki.apache.org/confluence/x/JIB2

это мой фтл

<#if listCompagne??>

            <#list listCompagne as newCompagne>

            <div style="display:flex; width:100%;">
                         <div style="padding:6px; width:24%;"><label>${newCompagne.nom}</label></div> 
                         <div style="padding:6px; width:24%;"><label>${newCompagne.dateDebut ?date}</label></div> 
                         <div style="padding:6px; width:24%;"><label>${newCompagne.dateFin ?date}</label></div>
                         <input type="hidden" value="${newCompagne.twCompagneDeRecrutementId}"/> 
     <div style="padding:6px; width:20%;"> <a class="btn btn-outline-danger btn-block " href="<@ofbizUrl>showCompagne?twCompagneDeRecrutementId=${newCompagne.twCompagneDeRecrutementId}</@ofbizUrl>">afficher</a>
</div>  



           </div>  
           </#list>

person hind    schedule 06.12.2017    source источник


Ответы (2)


Я не использую ofbiz, но вы должны отправлять параметр в теле, а не в запросе.

В вашем случае я бы добавил форму и отправил ее, используя скрытый ввод формы, форма должна быть уникальной для каждой итерации, используя index

 <form action="<@ofbizUrl>showCompagne?</@ofbizUrl>" id="afficher${newCompagne?index}" method="post" style="display: none;">
 <input type="hidden" name="twCompagneDeRecrutementId" value="${newCompagne.twCompagneDeRecrutementId}" />
  </form>
 <a class="btn btn-outline-danger btn-block " 
 href="javascript:;" onclick="javascript:
document.getElementById('afficher${newCompagne?index}').submit()">afficher</a>
person user7294900    schedule 07.12.2017
comment
Это правильный способ сделать это. Как указано в сообщении об ошибке, существует множество примеров по адресу issues.apache.org/jira/. просмотреть/ОФБИЗ-2330. Просто найдите один, сделанный для шаблона Freemarker. - person JacquesLeRoux; 07.12.2017

решение состоит в том, чтобы перейти к url.properties и изменить параметры.url.encrypt на нет

person hind    schedule 07.12.2017
comment
По соображениям безопасности (причина, по которой появляется всплывающее сообщение об ошибке), я не рекомендую изменять параметры .url.encrypt на no. - person JacquesLeRoux; 07.12.2017
comment
как я могу это сделать. - person hind; 07.12.2017
comment
Я думаю, что ответил вам выше, процитировав себя: ‹‹Как указано в сообщении об ошибке, есть много примеров на issues.apache.org/jira/browse/OFBIZ-2330. Просто найдите один из готовых шаблонов Freemarker ›› - person JacquesLeRoux; 08.12.2017