diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java index 708ec3e87..f2ef8050c 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java @@ -74,7 +74,6 @@ import org.apache.guacamole.auth.jdbc.sharingprofile.SharingProfileMapper; import org.apache.guacamole.auth.jdbc.sharingprofile.SharingProfileParameterMapper; import org.apache.guacamole.auth.jdbc.sharingprofile.SharingProfileService; import org.apache.guacamole.auth.jdbc.tunnel.RestrictedGuacamoleTunnelService; -import org.apache.guacamole.net.auth.AuthenticationProvider; import org.mybatis.guice.MyBatisModule; import org.mybatis.guice.datasource.builtin.PooledDataSourceProvider; @@ -93,27 +92,15 @@ public class JDBCAuthenticationProviderModule extends MyBatisModule { */ private final JDBCEnvironment environment; - /** - * The AuthenticationProvider which is using this module to configure - * injection. - */ - private final AuthenticationProvider authProvider; - /** * Creates a new JDBC authentication provider module that configures the * various injected base classes using the given environment, and provides * connections using the given socket service. * - * @param authProvider - * The AuthenticationProvider which is using this module to configure - * injection. - * * @param environment * The environment to use to configure injected classes. */ - public JDBCAuthenticationProviderModule(AuthenticationProvider authProvider, - JDBCEnvironment environment) { - this.authProvider = authProvider; + public JDBCAuthenticationProviderModule(JDBCEnvironment environment) { this.environment = environment; } @@ -143,7 +130,6 @@ public class JDBCAuthenticationProviderModule extends MyBatisModule { // Bind core implementations of guacamole-ext classes bind(ActiveConnectionDirectory.class); bind(ActiveConnectionPermissionSet.class); - bind(AuthenticationProvider.class).toInstance(authProvider); bind(JDBCEnvironment.class).toInstance(environment); bind(ConnectionDirectory.class); bind(ConnectionGroupDirectory.class); diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/SharedConnectionUserContext.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/SharedConnectionUserContext.java index 37b344ab3..67d70c6b9 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/SharedConnectionUserContext.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/SharedConnectionUserContext.java @@ -61,7 +61,6 @@ public class SharedConnectionUserContext implements UserContext { /** * The AuthenticationProvider that created this SharedConnectionUserContext. */ - @Inject private AuthenticationProvider authProvider; /** @@ -118,6 +117,9 @@ public class SharedConnectionUserContext implements UserContext { Collection connectionIdentifiers = Collections.singletonList(connection.getIdentifier()); + // Associate the originating authentication provider + this.authProvider = user.getAuthenticationProvider(); + // The connection directory should contain only the shared connection this.connectionDirectory = new SimpleConnectionDirectory( Collections.singletonList(connection)); diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserContext.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserContext.java index 5ddea97ba..a3c646fa0 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserContext.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserContext.java @@ -53,12 +53,6 @@ import org.apache.guacamole.net.auth.User; public class UserContext extends RestrictedObject implements org.apache.guacamole.net.auth.UserContext { - /** - * The AuthenticationProvider that created this UserContext. - */ - @Inject - private AuthenticationProvider authProvider; - /** * User directory restricted by the permissions of the user associated * with this context. @@ -127,7 +121,7 @@ public class UserContext extends RestrictedObject @Override public AuthenticationProvider getAuthenticationProvider() { - return authProvider; + return getCurrentUser().getAuthenticationProvider(); } @Override diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProvider.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProvider.java index 5cf740c3a..8db48b7ac 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProvider.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProvider.java @@ -65,7 +65,7 @@ public class MySQLAuthenticationProvider implements AuthenticationProvider { new MySQLAuthenticationProviderModule(environment), // Configure JDBC authentication core - new JDBCAuthenticationProviderModule(this, environment) + new JDBCAuthenticationProviderModule(environment) ); diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProvider.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProvider.java index b289e9d8f..cd37d0598 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProvider.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProvider.java @@ -26,7 +26,6 @@ import org.apache.guacamole.net.auth.AuthenticationProvider; import org.apache.guacamole.net.auth.Credentials; import org.apache.guacamole.net.auth.UserContext; import org.apache.guacamole.auth.jdbc.JDBCAuthenticationProviderModule; -import org.apache.guacamole.auth.jdbc.JDBCEnvironment; import org.apache.guacamole.auth.jdbc.user.AuthenticationProviderService; import org.apache.guacamole.net.auth.AuthenticatedUser; import org.slf4j.Logger; @@ -73,7 +72,7 @@ public class PostgreSQLAuthenticationProvider implements AuthenticationProvider new PostgreSQLAuthenticationProviderModule(environment), // Configure JDBC authentication core - new JDBCAuthenticationProviderModule(this, environment) + new JDBCAuthenticationProviderModule(environment) );