Ich verwende spring-boot-starter-web
, um eine war
App zu erstellen, die auf einem eigenständigen tomcat8
bereitgestellt wird.Wie verhindert man Sitzungen in einem Tomcat für Servlets mit Basic-Auth?
Ich habe @EnableWebSecurity
zu erzwingen basic-authentication
auf jeder Servlet-Anfrage, und auch die Gui zu sichern.
Aber der Hauptzweck ist die Bereitstellung eines Webservice-XML, auf den hauptsächlich programmgesteuert zugegriffen wird. Somit senden die Clients ihre GET
Anfragen immer mit basic-auth.
Problem: tomcat erstellt für jede Anfrage eine neue Sitzung! Und da die Clients programmgesteuert mit den XML-Servlets verbunden sind, werden die Sitzungen nie ausgeloggt. Und auch nicht wiederverwendet, da die nächste Client-Anfrage erneut die Basic-Auth überträgt.
Diese Sitzungen verbleiben also bis zum Timeout im Tomcat (z. B. Standard 30 Minuten). Und konsumiere die Zeit.
Frage: Wie kann ich Tomcat oder die Feder-Servlets sagen, dass Verbindungen, die die Basic-Auth http-Header müssen keine Sitzung erstellen? Einfach den Benutzer authentifizieren, die Antwort senden und Session-Informationen vergessen?
https://stackoverflow.com/questions/2255814/can-i-turn-off-the-httpsession-in-web-xml – StanislavL
Wenn Sie die Verwendung von 'SessionCreationPolicy.STATELESS' bedeuten: Wie kann ich das nur auf bestimmte Pfade anwenden und zB den '/ gui'-Pfad als Stateful behandeln? – membersound