java - AEM /etc.clientlibs 无法通过 Dispatcher 访问
问题描述
在调度程序上请求页面时,我在 Publish 实例error.log中看到了这一点
18.12.2019 22:13:05.563 *INFO* [x.x.x.x [1576707185560] GET /etc.clientlibs/project/clientlibs/clientlib-all.fd5c5f2e8418f9ae1aa923efb9e7ad95.js HTTP/1.1] com.adobe.granite.ui.clientlibs.impl.ClientLibraryProxyServlet Proxy request to /etc.clientlibs/project/clientlibs/clientlib-all.fd5c5f2e8418f9ae1aa923efb9e7ad95.js not supported.
因此,etc.clientlibs没有加载到调度程序中,而是发回 404。
过滤规则似乎默认允许客户端库/0002 { /type "allow" /url "/etc.clientlibs/*" }
我在网上做了一些挖掘,发现了以下潜在的解决方法:
- 允许匿名 读取访问
/etc
。 - 明确拒绝 对 1 级子级的匿名 读取
/etc
访问,以确保您不允许事情通过。
虽然这似乎暂时解决了问题,但我认为这充其量是一种解决方法。
有谁知道这个问题的解决方案以及如何在不更改 OOTB 权限的情况下解决这个问题?
谢谢,
尼古拉
解决方案
经过多次故障排除后,我相信我找到了解决问题的方法。我的吊索映射需要修改
sling:internalRedirect="[/content/project/us/en,/]"
至
sling:internalRedirect="[/,/content/project/us/en]"
进行此更改后,一切都可以正确解决,而无需更改 OOTB 权限。希望这对其他人有帮助。
推荐阅读
- excel - 有没有办法共享 Excel VB 宏作为所有未来工作簿的工具?
- msbuild - MSBUILD:“项目中不存在目标。” 修改 DependsOnTarget 后
- python - 如何使用 jinj2 标签将多个 docx 模板数据包含到单个模板中
- excel - 将单元格文本分隔为每行一个单词
- r - 计算带条件的观测值之和
- sas - 使用 proc transpose 时如何避免列名中的空格/制表符?
- quarkus - 使用 panache Reactive JPA 的需要和示例
- swift - Swift 中的时间操作
- c# - MagickBlobErrorException:没有这样的文件或目录
- kotlin - kotlin kotest/kotlintest BehaviorSpec afterSpec/finalizeSpec 调用太频繁或根本不调用