将 javax.servlet.Filter 限制为特定 URL 模式

Restricting javax.servlet.Filter to specific URL pattern

我正在尝试为 Adob​​e 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 更新了文档以提及这一点。