【问题标题】:Can't find AddHeadersFilter in CMS Magnolia 5.7.4在 CMS Magnolia 5.7.4 中找不到 AddHeadersFilter
【发布时间】:2019-10-23 17:22:54
【问题描述】:

我在 CMS Magnolia 5.7.4 中找不到 AddHeadersFilter 类路径中的这个类

magnolia-core\5.7.4\magnolia-core-5.7.4.jar!\info\magnolia\cms\filters\AddHeadersFilter.class

但无法在 Magnoia 的配置面板中访问。

根据documentation它应该在那里

任何线索如何访问此过滤器并配置为支持 CORS?

更新:

更新 2: 这是我发送请求的方式

let url = 'http://localhost:8080/en/consumer'
fetch(url, {
   mode: 'no-cors',
   headers: {
       'Content-Type': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3'//,
       //'Access-Control-Allow-Origin':'*',
   },
  method: "GET"
})
    .then(response => {
        response.text()
        })
    .then(data => {
        frame.innerHTML = data
        })

【问题讨论】:

  • “无法在 Magnoia 的配置面板中访问”是什么意思?您需要通过创建文档中描述的配置自己将过滤器添加到过滤器链。还是在创建上述配置后从类路径加载类时遇到问题?
  • @Jan 很好,我认为过滤器应该默认在过滤器链中。它只在“公共”实例中有效吗?
  • @Jan 过滤器已注册,我可以在公共实例的配置面板中看到它,但是在请求调试器没有停止在 doFilter 方法和浏览器中我仍然接收“401(未授权)”响应
  • 您能否附上您在过滤器链中的确切位置配置它以及您的配置看起来如何的屏幕截图?谢谢
  • 在uriSecurity之后的链的最底部

标签: magnolia


【解决方案1】:

所以总结一下上面的cmets:

  • AddHeadersFilterfilter没有安装OOTB,需要自己添加到filter链中
  • AddHeadersFilter 添加到过滤器链时,确保将其定位在uriSecurityrange 过滤器之间
  • 为避免身份验证问题,请确保您在本地公共实例上进行测试,或者如果您需要在作者实例上进行测试,请确保您正在加载的页面允许匿名用户(在作者实例上,默认情况下,所有页面被拒绝)

【讨论】:

    猜你喜欢
    • 2013-03-07
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多