我正在尝试为 Adobe CQ 5.6.1 中的项目实现过滤器。似乎很适合用于为显示的每个页面做一些验证工作。
我已经阅读了有关 Filters 的文档我用这种方式编写了我的注释:
@SlingFilter(
label = "Filter implementation",
metatype = true,
generateComponent = true,
generateService = true,
order = 1,
scope = SlingFilterScope.REQUEST
)
@Properties({
@Property(name="service.description", value="A Filter"),
@Property(name="sling.filter.pattern", value="/some/path")
})
我已经编译了我的代码并查找了日志,但不知何故,它似乎没有针对 sling.filter.pattern 中指示的特定路径进行过滤。我似乎没有找到太多关于如何实现这个的示例,所以我对这个功能有点一头雾水。我可以确定的是,我不希望此过滤器在每个加载的 URL 上运行。
如有任何线索,我们将不胜感激。谢谢!
最佳答案
如问题评论中所述,过滤器上的 sling.filter.pattern
服务属性仅受 org.apache.sling.engine< 的 V2.4.0 及更高版本支持
捆绑。我已经在 http://sling.apache.org/documentation/the-sling-engine/filters.html 更新了文档提到这一点。
关于java - 将 javax.servlet.Filter 限制为特定的 URL 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30260016/