修改Sling请求参数

时间:2014-03-28 19:15:32

标签: filter adobe cq5 sling

我正在构建基于Adobe CQ 5.6.1的Web应用程序。我需要使用SlingHttpServletRequest.getRequestParameters(..),我也希望当我调用这个方法时,我应该得到修改后的XSS清理请求参数

现在为了确保这个方法返回XSS干净数据,我想写了一个过滤器类,它不起作用,因为我试图覆盖getRequestParameter,getRequestParameters方法。但是我无法做到,因为返回类型是RequestParameter(或它们的数组)。在HttpServletRequest的情况下,返回是String,所以我可以返回修改后的String。

  1. 如何修改Sling请求参数?
  2. 我在想Sling请求参数是基于httpservletrequest.getParameter的。这是对的吗?
  3. 请建议。

1 个答案:

答案 0 :(得分:0)

请求和响应在Sling中的工作方式与旧的普通JEE完全相同。如果你想在一个过滤器中覆盖一些Request参数,就像在你的例子中一样,你必须修改它们,然后传递过滤器链(如果需要的话)一个包装的请求。

http://sling.apache.org/apidocs/sling5/org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html

在您的具体情况下,我建议您在CQ API中查看Granite的XSS API。抱歉没有链接,因为它目前正在给予503。

HTH 的Davide