在 CMS Magnolia 5.7.4 中找不到 AddHeadersFilter

Posted

技术标签:

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

我 类路径中的这个类

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之后的链的最底部 【参考方案1】:

所以总结一下上面的cmets:

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

【讨论】:

以上是关于在 CMS Magnolia 5.7.4 中找不到 AddHeadersFilter的主要内容,如果未能解决你的问题,请参考以下文章

在 Magnolia CMS 中创建 Java 模型

Magnolia CMS- SelectFieldDefinition 的收费对话框

在 Magnolia CMS 上通过 Java 获取大坝资产链接

使用 Blossom 在 Magnolia CMS 对话框中创建自定义字段

Magnolia CMS - 集成第三方系统

自定义操作实施 Magnolia CMS