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

时间:2015-05-15 12:51:28

标签: java filter cq5 sling

我正在尝试在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上运行。

任何线索都会受到赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

正如问题的评论中所述,过滤器上的sling.filter.pattern服务属性仅支持org.apache.sling.engine捆绑包的V2.4.0及更高版本。我已在http://sling.apache.org/documentation/the-sling-engine/filters.html更新了文档以提及此内容。