diff --git a/scm-webapp/src/main/java/sonia/scm/web/security/ChainAuthenticatonManager.java b/scm-webapp/src/main/java/sonia/scm/web/security/ChainAuthenticatonManager.java index b2d15959a4..6ce950f52c 100644 --- a/scm-webapp/src/main/java/sonia/scm/web/security/ChainAuthenticatonManager.java +++ b/scm-webapp/src/main/java/sonia/scm/web/security/ChainAuthenticatonManager.java @@ -36,7 +36,6 @@ package sonia.scm.web.security; //~--- non-JDK imports -------------------------------------------------------- import com.google.inject.Inject; -import com.google.inject.Provider; import com.google.inject.Singleton; import org.slf4j.Logger; @@ -86,22 +85,25 @@ public class ChainAuthenticatonManager extends AbstractAuthenticationManager * @param encryptionHandler * @param cacheManager * @param authenticationListenerProvider + * @param authenticationListeners */ @Inject public ChainAuthenticatonManager( Set authenticationHandlerSet, EncryptionHandler encryptionHandler, CacheManager cacheManager, - Provider> authenticationListenerProvider) + Set authenticationListeners) { AssertUtil.assertIsNotEmpty(authenticationHandlerSet); AssertUtil.assertIsNotNull(cacheManager); this.authenticationHandlerSet = authenticationHandlerSet; this.encryptionHandler = encryptionHandler; - this.authenticationListenerProvider = authenticationListenerProvider; this.cache = cacheManager.getCache(String.class, AuthenticationCacheValue.class, CACHE_NAME); - // addListeners(authenticationListeners); + if (Util.isNotEmpty(authenticationListeners)) + { + addListeners(authenticationListeners); + } } //~--- methods -------------------------------------------------------------- @@ -189,14 +191,6 @@ public class ChainAuthenticatonManager extends AbstractAuthenticationManager authenticator.init(context); } - - Set listeners = - authenticationListenerProvider.get(); - - if (Util.isNotEmpty(listeners)) - { - addListeners(listeners); - } } /** @@ -346,9 +340,6 @@ public class ChainAuthenticatonManager extends AbstractAuthenticationManager /** Field description */ private Set authenticationHandlerSet; - /** Field description */ - private Provider> authenticationListenerProvider; - /** Field description */ private Cache cache; diff --git a/scm-webapp/src/test/java/sonia/scm/web/security/ChainAuthenticationManagerTest.java b/scm-webapp/src/test/java/sonia/scm/web/security/ChainAuthenticationManagerTest.java index 566ef54504..738d81df81 100644 --- a/scm-webapp/src/test/java/sonia/scm/web/security/ChainAuthenticationManagerTest.java +++ b/scm-webapp/src/test/java/sonia/scm/web/security/ChainAuthenticationManagerTest.java @@ -56,6 +56,7 @@ import static org.mockito.Mockito.*; import java.io.IOException; +import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -109,7 +110,7 @@ public class ChainAuthenticationManagerTest extends AbstractTestBase assertUserEquals(trillian, result.getUser()); assertEquals("trilliansType", result.getUser().getType()); result = manager.authenticate(request, response, perfect.getName(), - "perfect123"); + "perfect123"); assertNotNull(perfect); assertUserEquals(perfect, result.getUser()); assertEquals("perfectsType", result.getUser().getType()); @@ -133,16 +134,10 @@ public class ChainAuthenticationManagerTest extends AbstractTestBase trillian = UserTestData.createTrillian(); trillian.setPassword("trillian123"); handlerSet.add(new SingleUserAuthenticaionHandler("trilliansType", - trillian)); - - Provider> listenerProvider = - mock(Provider.class); - - when(listenerProvider.get()).thenReturn( - new HashSet()); + trillian)); manager = new ChainAuthenticatonManager(handlerSet, - new MessageDigestEncryptionHandler(), cacheManager, - listenerProvider); + new MessageDigestEncryptionHandler(), cacheManager, + Collections.EMPTY_SET); manager.init(contextProvider); request = MockUtil.getHttpServletRequest(); response = MockUtil.getHttpServletResponse(); @@ -184,7 +179,7 @@ public class ChainAuthenticationManagerTest extends AbstractTestBase * @author Sebastian Sdorra */ private static class SingleUserAuthenticaionHandler - implements AuthenticationHandler + implements AuthenticationHandler { /** @@ -215,7 +210,7 @@ public class ChainAuthenticationManagerTest extends AbstractTestBase */ @Override public AuthenticationResult authenticate(HttpServletRequest request, - HttpServletResponse response, String username, String password) + HttpServletResponse response, String username, String password) { AuthenticationResult result = null;