Ich bin mir bewusst, dass AEM nach erfolgreicher Authentifizierung einen Cookie namens "login-token" erstellt.
Meine Frage ist, wie AEM dieses Cookie in jeder Anfrage validiert? Gibt es einen Filter, um die Anfrage abzufangen und dann den Cookie zu validieren? wenn nicht, wie AEM dann erneut sling authentication handler aufruft?
Ich konnte hier Ссылка
nicht findenBitte helfen Sie mir, dies zu klären
Die Authentifizierung erfolgt nicht über einen Filter. Die Authentifizierung wird vor der Filterverarbeitung durchgeführt.
Sobald die Anfrage eintrifft, ruft OSGi HttpService die HandleSecurity des HttpContext auf, der dem Servlet / der Ressource zugeordnet ist. Im Fall von Sling ruft dies SlingMainServlet .handleSecurity auf, das SlingAuthenticator.authentication aufruft.
SlingAuthenticator wählt für die Anforderung einen authenticationHandler aus und leitet den Authentifizierungsaufruf weiter.
Der Authentifizierungshandlerimplementiert die extractCredentials -Methode, die (basierend auf dem Authentifizierungsschema, z. B. autorisierungskopfbasierte Authentifizierung, sitzungsbasierte Authentifizierung oder cookiebasierte Authentifizierung) für das Lesen von Anmeldeinformationen von Cookies (oder Header oder Sitzung) verantwortlich ist.
Nach erfolgreicher Authentifizierung wird AuthenticationInfo zurückgegeben. Wenn die Authentifizierung fehlschlägt, wird entweder eine anonyme Sitzung erworben (wenn pro Konfiguration anonym erlaubt ist) oder die Methode requestCredentials aufgerufen ein Login-Formular übertragen (oder umleiten). Nach der Ausführung von handleSecurity beendet HttpService entweder die Anfrage (falls handleSecurity false zurückgegeben hat) oder ruft SlingMainServlet.service auf, was der Einstiegspunkt für die Verarbeitung von Sling-Anfragen wäre.
Request-Level-Filter würden danach verarbeitet werden. siehe Ссылка
Tags und Links authentication cq5 jcr sling aem