From 81386a15e0114481f18d973bb01020a81d0d2639 Mon Sep 17 00:00:00 2001 From: Alex Rudyy Date: Tue, 30 Apr 2013 14:41:57 +0000 Subject: QPID-4791: Change JSESSIONID cookie name to include the port number in order to avoid JSESSIONID cookie name collisions when running multiple web management consoles in the same broswer comminication with the brokers started on different ports of the same host git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1477668 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/qpid/server/management/plugin/HttpManagement.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'qpid/java') diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java index 60ec7717cb..43328c16bf 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java @@ -138,6 +138,8 @@ public class HttpManagement extends AbstractPluginAdapter implements HttpManagem put(PluginFactory.PLUGIN_TYPE, String.class); }}); + private static final String JSESSIONID_COOKIE_PREFIX = "JSESSIONID_"; + private Server _server; public HttpManagement(UUID id, Broker broker, Map attributes) @@ -218,6 +220,7 @@ public class HttpManagement extends AbstractPluginAdapter implements HttpManagem } Server server = new Server(); + int lastPort = -1; for (Port port : ports) { if (State.QUIESCED.equals(port.getActualState())) @@ -253,6 +256,7 @@ public class HttpManagement extends AbstractPluginAdapter implements HttpManagem { throw new IllegalArgumentException("Unexpected protocol " + protocols); } + lastPort = port.getPort(); connector.setPort(port.getPort()); server.addConnector(connector); } @@ -313,7 +317,7 @@ public class HttpManagement extends AbstractPluginAdapter implements HttpManagem root.addServlet(new ServletHolder(new HelperServlet()), "/rest/helper"); final SessionManager sessionManager = root.getSessionHandler().getSessionManager(); - + sessionManager.setSessionCookie(JSESSIONID_COOKIE_PREFIX + lastPort); sessionManager.setMaxInactiveInterval((Integer)getAttribute(TIME_OUT)); return server; -- cgit v1.2.1