From: Michael Jumper Date: Fri, 23 Mar 2012 22:24:36 +0000 (-0700) Subject: Get credentials and configs from AuthenticatingHttpServlet, allow main HTTP tunnel... X-Git-Url: http://git.alex.org.uk Get credentials and configs from AuthenticatingHttpServlet, allow main HTTP tunnel servlet to take care of attach(). --- diff --git a/src/main/java/net/sourceforge/guacamole/net/basic/BasicGuacamoleTunnelServlet.java b/src/main/java/net/sourceforge/guacamole/net/basic/BasicGuacamoleTunnelServlet.java index 6d7e574..a30f1ed 100644 --- a/src/main/java/net/sourceforge/guacamole/net/basic/BasicGuacamoleTunnelServlet.java +++ b/src/main/java/net/sourceforge/guacamole/net/basic/BasicGuacamoleTunnelServlet.java @@ -29,8 +29,8 @@ import net.sourceforge.guacamole.net.InetGuacamoleSocket; import net.sourceforge.guacamole.protocol.GuacamoleConfiguration; import net.sourceforge.guacamole.properties.GuacamoleProperties; import net.sourceforge.guacamole.net.GuacamoleSocket; -import net.sourceforge.guacamole.servlet.GuacamoleSession; import net.sourceforge.guacamole.net.GuacamoleTunnel; +import net.sourceforge.guacamole.net.auth.Credentials; import net.sourceforge.guacamole.protocol.ConfiguredGuacamoleSocket; import net.sourceforge.guacamole.servlet.GuacamoleHTTPTunnelServlet; import org.slf4j.Logger; @@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory; public class BasicGuacamoleTunnelServlet extends AuthenticatingHttpServlet { private Logger logger = LoggerFactory.getLogger(BasicGuacamoleTunnelServlet.class); - + @Override protected void authenticatedService( Map configs, @@ -71,12 +71,14 @@ public class BasicGuacamoleTunnelServlet extends AuthenticatingHttpServlet { // Get ID of connection String id = request.getParameter("id"); + // Get credentials + Credentials credentials = getCredentials(httpSession); + // Get authorized configs - Map configs = (Map) - httpSession.getAttribute("GUAC_CONFIGS"); + Map configs = getConfigurations(httpSession); - // If no configs in session, not authorized - if (configs == null) + // If no configs/credentials in session, not authorized + if (credentials == null || configs == null) throw new GuacamoleException("Cannot connect - user not logged in."); // Get authorized config @@ -100,10 +102,6 @@ public class BasicGuacamoleTunnelServlet extends AuthenticatingHttpServlet { // Associate socket with tunnel GuacamoleTunnel tunnel = new GuacamoleTunnel(socket); - // Attach tunnel to session - GuacamoleSession session = new GuacamoleSession(httpSession); - session.attachTunnel(tunnel); - return tunnel; }