gpt4 book ai didi

authentication - CQ 如何验证每个请求?

转载 作者:行者123 更新时间:2023-12-04 08:23:03 25 4
gpt4 key购买 nike

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

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

我在这里找不到 http://host:port/system/console/status-slingfilter

请帮我澄清这一点

最佳答案

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

一旦请求到达 OSGi HttpService 调用与 servlet/资源关联的 HttpContext 的 handleSecurity。在 Sling 的情况下,这会调用 SlingMainServlet .handleSecurity 调用 SlingAuthenticator.authentication。

SlingAuthenticator 选择一个 authenticationHandler 请求并转发身份验证调用。

身份验证处理程序实现 提取凭据方法(基于身份验证方案,例如基于授权 header 的身份验证、基于 session 的身份验证或基于 cookie 的身份验证)负责从 cookie(或 header 或 session )读取凭据。

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

之后将处理请求级别过滤器。见 https://sling.apache.org/documentation/the-sling-engine/filters.html

关于authentication - CQ 如何验证每个请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35358571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com