GUACAMOLE-38: Fix issues with root identifier and directory.

This commit is contained in:
Nick Couchman
2018-05-08 16:28:10 -04:00
parent 555b26ae1f
commit 7df88cdfbd
2 changed files with 16 additions and 16 deletions

View File

@@ -36,11 +36,6 @@ import org.apache.guacamole.protocol.GuacamoleConfiguration;
*/ */
public class QuickConnectDirectory extends SimpleDirectory<Connection> { public class QuickConnectDirectory extends SimpleDirectory<Connection> {
/**
* The unique identifier of the root connection group.
*/
private static final String ROOT_IDENTIFIER = "ROOT";
/** /**
* The connections to store. * The connections to store.
*/ */
@@ -113,7 +108,7 @@ public class QuickConnectDirectory extends SimpleDirectory<Connection> {
// Create a new connection and set the parent identifier. // Create a new connection and set the parent identifier.
Connection connection = new SimpleConnection(name, connectionId, config); Connection connection = new SimpleConnection(name, connectionId, config);
connection.setParentIdentifier(ROOT_IDENTIFIER); connection.setParentIdentifier(QuickConnectUserContext.ROOT_IDENTIFIER);
// Place the object in this directory. // Place the object in this directory.
add(connection); add(connection);

View File

@@ -37,6 +37,11 @@ import org.apache.guacamole.net.auth.simple.SimpleUser;
*/ */
public class QuickConnectUserContext extends AbstractUserContext { 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. * 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. * The name of the user logging in and using this class.
*/ */
public QuickConnectUserContext(AuthenticationProvider authProvider, public QuickConnectUserContext(AuthenticationProvider authProvider,
String username) { String username) throws GuacamoleException {
// Initialize the rootGroup to a basic connection group with a // Initialize the rootGroup to a basic connection group with a
// single root identifier. // single root identifier.
this.rootGroup = new QuickConnectionGroup( this.rootGroup = new QuickConnectionGroup(
DEFAULT_ROOT_CONNECTION_GROUP, ROOT_IDENTIFIER,
DEFAULT_ROOT_CONNECTION_GROUP ROOT_IDENTIFIER
);
// Initialize the user to a SimpleUser with the provided username,
// no connections, and the single root group.
this.self = new SimpleUser(username,
Collections.<String>emptyList(),
Collections.singleton(DEFAULT_ROOT_CONNECTION_GROUP)
); );
// Initialize the connection directory // Initialize the connection directory
this.connectionDirectory = new QuickConnectDirectory(this.rootGroup); 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,
connectionDirectory.getIdentifiers(),
Collections.singleton(ROOT_IDENTIFIER)
);
// Set the authProvider to the calling authProvider object. // Set the authProvider to the calling authProvider object.
this.authProvider = authProvider; this.authProvider = authProvider;