GUACAMOLE-38: Fix issue with Settings -> Users page.

This commit is contained in:
Nick Couchman
2017-07-21 12:23:17 -04:00
parent facea42463
commit ed8ca17a95
2 changed files with 16 additions and 23 deletions

View File

@@ -21,11 +21,14 @@ package org.apache.guacamole.auth.quickconnect;
import com.google.inject.Inject;
import com.google.inject.Provider;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.net.auth.AuthenticatedUser;
import org.apache.guacamole.net.auth.Credentials;
import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
import org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
import org.apache.guacamole.net.auth.simple.SimpleAuthenticationProvider;
import org.apache.guacamole.net.auth.UserContext;
import org.apache.guacamole.protocol.GuacamoleConfiguration;
@@ -41,8 +44,6 @@ public class QuickConnectAuthenticationProvider extends SimpleAuthenticationProv
*/
private final Logger logger = LoggerFactory.getLogger(QuickConnectAuthenticationProvider.class);
private Map<String, GuacamoleConfiguration> quickConnections = new HashMap<String, GuacamoleConfiguration>();
private UserContext userContext = null;
@Inject
@@ -70,18 +71,13 @@ public class QuickConnectAuthenticationProvider extends SimpleAuthenticationProv
public AuthenticatedUser authenticateUser(Credentials credentials)
throws GuacamoleException {
logger.debug(">>>QuickConnect<<< authenticateUser NOT IMPLEMENTED.");
logger.debug(">>>QuickConnect<<< authenticateUser running for user {}.", credentials.getUsername());
GuacamoleConfiguration config = new GuacamoleConfiguration();
String username = credentials.getUsername();
if(username == null || username.isEmpty())
throw new GuacamoleInvalidCredentialsException("You must login.", CredentialsInfo.USERNAME_PASSWORD);
config.setProtocol("ssh");
config.setParameter("hostname","ussalxapps005t.cotyww.com");
config.setParameter("port","22");
quickConnections.put("Adhoc 1", config);
if (userContext == null)
userContext = new QuickConnectUserContext(this, credentials.getUsername(), quickConnections);
userContext = new QuickConnectUserContext(this, credentials.getUsername());
return null;
@@ -94,18 +90,11 @@ public class QuickConnectAuthenticationProvider extends SimpleAuthenticationProv
logger.debug(">>>QuickConnect<<< Retrieving configurations for user {}", credentials.getUsername());
GuacamoleConfiguration config = new GuacamoleConfiguration();
config.setProtocol("ssh");
config.setParameter("hostname","ussalxapps005t.cotyww.com");
config.setParameter("port","22");
quickConnections.put("Adhoc 1", config);
if(userContext == null)
userContext = new QuickConnectUserContext(this, credentials.getUsername(), quickConnections);
userContext = new QuickConnectUserContext(this, credentials.getUsername());
return Collections.<String, GuacamoleConfiguration>emptyMap();
return quickConnections;
}
private Map<String, GuacamoleConfiguration>
@@ -160,7 +149,7 @@ public class QuickConnectAuthenticationProvider extends SimpleAuthenticationProv
// Return user context restricted to authorized configs
// return new QuickConnectUserContext(this, authenticatedUser.getIdentifier(), configs);
return userContext;
return new QuickConnectUserContext(this, authenticatedUser.getIdentifier());
}

View File

@@ -112,6 +112,7 @@ public class QuickConnectUserContext implements UserContext {
public QuickConnectUserContext(AuthenticationProvider authProvider,
Map<String, GuacamoleConfiguration> configs) {
this(authProvider, UUID.randomUUID().toString(), configs);
logger.debug(">>>QuickConnect<<< Constructor with authProvider and configs.");
}
/**
@@ -216,6 +217,9 @@ public class QuickConnectUserContext implements UserContext {
@Override
public Directory<User> getUserDirectory()
throws GuacamoleException {
logger.debug(">>>QuickConnect<<< Returning the entire user directory: {}", userDirectory.getIdentifiers());
return userDirectory;
}