diff --git a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java index 5070ea6e7..ceb8c80d9 100644 --- a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java +++ b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java @@ -36,11 +36,6 @@ */ public class QuickConnectDirectory extends SimpleDirectory { - /** - * The unique identifier of the root connection group. - */ - private static final String ROOT_IDENTIFIER = "ROOT"; - /** * The connections to store. */ @@ -113,7 +108,7 @@ public String create(GuacamoleConfiguration config) throws GuacamoleException { // Create a new connection and set the parent identifier. Connection connection = new SimpleConnection(name, connectionId, config); - connection.setParentIdentifier(ROOT_IDENTIFIER); + connection.setParentIdentifier(QuickConnectUserContext.ROOT_IDENTIFIER); // Place the object in this directory. add(connection); diff --git a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java index 32f4b37d2..aa98db75e 100644 --- a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java +++ b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectUserContext.java @@ -37,6 +37,11 @@ */ public class QuickConnectUserContext extends AbstractUserContext { + /** + * The unique identifier of the root connection group. + */ + public static final String ROOT_IDENTIFIER = DEFAULT_ROOT_CONNECTION_GROUP; + /** * The AuthenticationProvider that created this UserContext. */ @@ -71,25 +76,25 @@ public class QuickConnectUserContext extends AbstractUserContext { * The name of the user logging in and using this class. */ public QuickConnectUserContext(AuthenticationProvider authProvider, - String username) { + String username) throws GuacamoleException { // Initialize the rootGroup to a basic connection group with a // single root identifier. this.rootGroup = new QuickConnectionGroup( - DEFAULT_ROOT_CONNECTION_GROUP, - DEFAULT_ROOT_CONNECTION_GROUP + ROOT_IDENTIFIER, + ROOT_IDENTIFIER ); + // Initialize the connection directory + this.connectionDirectory = new QuickConnectDirectory(this.rootGroup); + // Initialize the user to a SimpleUser with the provided username, // no connections, and the single root group. this.self = new SimpleUser(username, - Collections.emptyList(), - Collections.singleton(DEFAULT_ROOT_CONNECTION_GROUP) + connectionDirectory.getIdentifiers(), + Collections.singleton(ROOT_IDENTIFIER) ); - // Initialize the connection directory - this.connectionDirectory = new QuickConnectDirectory(this.rootGroup); - // Set the authProvider to the calling authProvider object. this.authProvider = authProvider;