AEM 中 doFilter servlet 的调度程序白名单

Posted

技术标签:

【中文标题】AEM 中 doFilter servlet 的调度程序白名单【英文标题】:Dispatcher whitelisting for doFilter servlet in AEM 【发布时间】:2021-09-27 17:56:40 【问题描述】:

我在 AEM 中有一个过滤器 servlet,用于在网站上进行自定义身份验证和重定向处理。

目前,所有用户特定页面都从 AEM 中的发布实例获取,并且这些页面上未启用缓存。因此我的强制登录方案有效。

如果我想使用调度程序为这些页面提供服务,则不会触发过滤器 Servlet,并且即使在退出时使用损坏/丢失的详细信息,用户也可以访问这些页面。我们可以在调度程序中添加任何配置以允许过滤 servlet 甚至在调度程序缓存的页面上吗?

【问题讨论】:

【参考方案1】:

如果您想在使用 Dispatcher 的同时让 AEM 控制哪些用户可以看到哪些资源,最自然的方法是在 Dispatcher 配置中配置 auth_checker。它主要归结为定义 glob 模式以指示它哪些请求需要身份验证检查,哪些不需要,并指向处理授权的 servlet。

官方文档包含decent guidelines on the topic

【讨论】:

以上是关于AEM 中 doFilter servlet 的调度程序白名单的主要内容,如果未能解决你的问题,请参考以下文章

AEM:调用 Post servlet 时出现 403 Forbidden

Servlet 的 doFilter 方法中的 StringBuffer 或 StringBuilder? [复制]

Servlet过滤器重定向:如何在chain.doFilter(request,resp)之后重定向;

doFilter() 是在 Servlet 的工作完成之前还是之后执行?

在 doFilter 中设置后获取 Cookie

servlet中filter和chain有啥用?