From e66f5bc03b4cdc9aa53dc309e86a3bf4859ec18e Mon Sep 17 00:00:00 2001 From: James Muehlner Date: Mon, 11 Feb 2013 00:53:04 -0800 Subject: [PATCH] Ticket #269: Fixed synchronization issues by not trying to inject Credentials. Also included logger. --- extensions/guacamole-auth-mysql/pom.xml | 13 +++++++++++++ .../mysql/MySQLAuthenticationProvider.java | 18 +++++++----------- .../net/auth/mysql/MySQLUserContext.java | 9 ++++++--- 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/extensions/guacamole-auth-mysql/pom.xml b/extensions/guacamole-auth-mysql/pom.xml index 435100ddf..952db2420 100644 --- a/extensions/guacamole-auth-mysql/pom.xml +++ b/extensions/guacamole-auth-mysql/pom.xml @@ -67,6 +67,19 @@ 0.8.0 + + + org.slf4j + slf4j-api + 1.6.1 + + + org.slf4j + slf4j-jcl + 1.6.1 + runtime + + org.mybatis diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProvider.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProvider.java index 0d992aa5f..d2830056e 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProvider.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProvider.java @@ -39,7 +39,6 @@ import com.google.inject.Binder; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Module; -import com.google.inject.Provider; import com.google.inject.name.Names; import java.util.Properties; import net.sourceforge.guacamole.GuacamoleException; @@ -57,6 +56,8 @@ import net.sourceforge.guacamole.properties.GuacamoleProperties; import org.mybatis.guice.MyBatisModule; import org.mybatis.guice.datasource.builtin.PooledDataSourceProvider; import org.mybatis.guice.datasource.helper.JdbcHelper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Provides a MySQL based implementation of the AuthenticationProvider @@ -65,13 +66,14 @@ import org.mybatis.guice.datasource.helper.JdbcHelper; */ public class MySQLAuthenticationProvider implements AuthenticationProvider { + private Logger logger = LoggerFactory.getLogger(MySQLUserContext.class); + private Injector injector; - private Credentials credentials; @Override public UserContext getUserContext(Credentials credentials) throws GuacamoleException { - this.credentials = credentials; - UserContext context = injector.getInstance(UserContext.class); + MySQLUserContext context = injector.getInstance(MySQLUserContext.class); + context.init(credentials); return context; } @@ -102,13 +104,7 @@ public class MySQLAuthenticationProvider implements AuthenticationProvider { addMapperClass(SystemPermissionMapper.class); addMapperClass(UserMapper.class); addMapperClass(UserPermissionMapper.class); - bind(UserContext.class).to(MySQLUserContext.class); - bind(Credentials.class).toProvider(new Provider() { - @Override - public Credentials get() { - return credentials; - } - }); + bind(MySQLUserContext.class); } } ); diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUserContext.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUserContext.java index 233e6f341..b658d28fd 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUserContext.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUserContext.java @@ -42,6 +42,8 @@ import net.sourceforge.guacamole.net.auth.Credentials; import net.sourceforge.guacamole.net.auth.Directory; import net.sourceforge.guacamole.net.auth.User; import net.sourceforge.guacamole.net.auth.UserContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @@ -49,9 +51,10 @@ import net.sourceforge.guacamole.net.auth.UserContext; */ public class MySQLUserContext implements UserContext { - @Inject - MySQLUserContext(Credentials credentials) { - + private Logger logger = LoggerFactory.getLogger(MySQLUserContext.class); + + void init(Credentials credentials) { + // load the required data with the provided credentials } @Override