In meiner Java EE-Anwendung habe ich ein Problem mit Sitzungen. Verschiedene Benutzer können sich bei der Anwendung anmelden und der angegebene Benutzer kann die Daten sehen, für die er berechtigt ist. Er sollte andere Benutzerdaten nicht sehen können. Um die Benutzer zu unterscheiden, verwenden wir Client_ID
. Sobald sich der Benutzer anmeldet wir holen dieses Client_ID
aus der Datenbank und es in der Sitzung wie diese Einstellung:Wie kann ich Sitzungen in Java EE verwalten?
session.setAttribute("Client_ID",user.getClient_ID())
Wir greifen auf diese Sitzungswert in der gesamten Anwendung und die entsprechenden Daten zu diesem Client_ID
holen. Das funktioniert gut, wenn Benutzer in einem einzelnen Browser arbeiten, aber das Problem ist das:
Angenommen, es gibt einen SuperAdmin, der alle Clients unter ihm suchen muss. SuperAdmin meldet sich als client_1
und wieder als client_2
an. SuperAdmin hat sich beide Male mit demselben Browser angemeldet. Wenn ich den client_1
Browser aktualisiere, sehe ich die client_2
Details, die nicht passieren sollten.
Ich denke, unsere Anwendung verwendet die gleiche Sitzung für zwei verschiedene Logins im selben Browser. Was wäre eine Lösung für dieses Problem? Ich sollte die korrekten Daten für den bestimmten Client sehen, wenn ich die Seite aktualisiere.
Absolut richtig, denke ich. –