Ich habe festgestellt, dass Anwendungen wie die meisten anderen Java-basierten Webanwendungen immer eine Sitzung erstellen, auch wenn sie nicht verwendet wird.
Ist es möglich, den JSESSIONID-Cookie nur bei Bedarf zu setzen, z. wenn jemand versucht sich einzuloggen?
Ich bin mir nicht sicher, welche Version von Grails oben verwendet wurde, aber ich stieß auf ein ähnliches Problem in einer großen Anwendung. Meine Anwendung wurde zwischen UI / gsp und anderen Controllern aufgeteilt, die pure json / xml ohne Sicht geliefert haben. Der UI-Abschnitt sollte der einzige Teil sein, der Sitzungen verwendete, aber die Dienste gaben auch JSessionId zurück.
Da die Anwendung groß war, habe ich zur Problembehebung neue Anwendungen mit den Grails 1.3.7 und 2.2.1 mit einem Basiscontroller erstellt:
%Vor% Wenn ich dies mit tomcat ausführe, gibt weder lookatme
noch hallo
eine JSessionId zurück. Die Aktion somestate
funktioniert. Nachdem wir unseren Code durchgearbeitet hatten, fanden wir Orte (z. B. einige Filter), die versuchten, auf die Sitzung zuzugreifen, obwohl dies nicht der Fall war.
Wenn Ihr Code eine Sitzung über JSessionId-Cookies zurückgibt und Sie nicht glauben, dass dies der Fall sein sollte, stellen Sie sicher, dass innerhalb dieser Aktion (oder Filter) kein Code verwendet wird, der auf session
(oder flash
?).
Tags und Links grails jsessionid