Authentication CQ如何验证每个请求?

Authentication CQ如何验证每个请求?,authentication,aem,jcr,sling,Authentication,Aem,Jcr,Sling,我知道AEM如何在成功验证后创建名为“登录令牌”的cookie 我的问题是AEM如何在每个请求中验证此cookie?是否有任何筛选器可用于拦截请求,然后验证cookie?如果不是,那么AEM如何再次调用sling身份验证处理程序 我在这里找不到 请帮助我澄清这一点身份验证不是通过过滤器完成的。身份验证在筛选处理之前完成 一旦请求到达,OSGi HttpService就会调用和servlet/资源关联的HttpContext的handleSecurity。如果是Sling,则调用调用SlingAu

我知道AEM如何在成功验证后创建名为“登录令牌”的cookie

我的问题是AEM如何在每个请求中验证此cookie?是否有任何筛选器可用于拦截请求,然后验证cookie?如果不是,那么AEM如何再次调用sling身份验证处理程序

我在这里找不到


请帮助我澄清这一点

身份验证不是通过过滤器完成的。身份验证在筛选处理之前完成

一旦请求到达,OSGi HttpService就会调用和servlet/资源关联的HttpContext的handleSecurity。如果是Sling,则调用调用SlingAuthenticator.authentication的SlingMainServlet.handleSecurity

SlingAuthenticator为请求选择一个authenticationHandler,并转发authenticate调用

身份验证处理程序实现了提取凭据的方法(基于身份验证方案,例如基于授权标头的身份验证、基于会话的身份验证或基于cookie的身份验证),该方法负责从cookie(或标头或会话)中读取凭据

成功身份验证后,如果身份验证失败,它将返回AuthenticationInfo,或者获取匿名会话(如果每个配置允许匿名),或者调用requestCredentials方法,该方法将呈现(或重定向到)登录表单。 handleSecurity执行完成后,HttpService将终止请求(如果handleSecurity返回false)或调用SlingMainServlet.service,这将是Sling请求处理的入口点


之后将处理请求级筛选器。请参见

在author实例中,每个请求都将通过SlingMainServlet?我的意思是,在author和publish实例中,所有请求都将通过SlingMainServlet?是的。作者或出版并不重要。