diff --git a/core/src/main/java/org/springframework/security/core/userdetails/memory/InMemoryDaoImpl.java b/core/src/main/java/org/springframework/security/core/userdetails/memory/InMemoryDaoImpl.java index 1230714401..b4a8ad3ed4 100644 --- a/core/src/main/java/org/springframework/security/core/userdetails/memory/InMemoryDaoImpl.java +++ b/core/src/main/java/org/springframework/security/core/userdetails/memory/InMemoryDaoImpl.java @@ -30,7 +30,9 @@ import java.util.Properties; * Retrieves user details from an in-memory list created by the bean context. * * @author Ben Alex + * @deprecated Use InMemoryUserDetailsManager instead (or write your own implementation) */ +@Deprecated public class InMemoryDaoImpl implements UserDetailsService, InitializingBean { //~ Instance fields ================================================================================================ diff --git a/core/src/main/java/org/springframework/security/core/userdetails/memory/UserMap.java b/core/src/main/java/org/springframework/security/core/userdetails/memory/UserMap.java index 1d3c99c629..77092e3c57 100644 --- a/core/src/main/java/org/springframework/security/core/userdetails/memory/UserMap.java +++ b/core/src/main/java/org/springframework/security/core/userdetails/memory/UserMap.java @@ -32,7 +32,9 @@ import org.springframework.util.Assert; * should not be used if usernames need to be case-sensitive. * * @author Ben Alex + * @deprecated Use a plain map instead */ +@Deprecated public class UserMap { //~ Static fields/initializers ===================================================================================== diff --git a/core/src/main/java/org/springframework/security/core/userdetails/memory/UserMapEditor.java b/core/src/main/java/org/springframework/security/core/userdetails/memory/UserMapEditor.java index 2e531fa836..3ad894e881 100644 --- a/core/src/main/java/org/springframework/security/core/userdetails/memory/UserMapEditor.java +++ b/core/src/main/java/org/springframework/security/core/userdetails/memory/UserMapEditor.java @@ -41,6 +41,7 @@ import java.util.Properties; * * @author Ben Alex */ +@Deprecated public class UserMapEditor extends PropertyEditorSupport { //~ Methods ======================================================================================================== diff --git a/core/src/main/java/org/springframework/security/provisioning/InMemoryUserDetailsManager.java b/core/src/main/java/org/springframework/security/provisioning/InMemoryUserDetailsManager.java index cf065bc1f0..adf2a69017 100644 --- a/core/src/main/java/org/springframework/security/provisioning/InMemoryUserDetailsManager.java +++ b/core/src/main/java/org/springframework/security/provisioning/InMemoryUserDetailsManager.java @@ -113,7 +113,8 @@ public class InMemoryUserDetailsManager implements UserDetailsManager { throw new UsernameNotFoundException(username); } - return user; + return new User(user.getUsername(), user.getPassword(), user.isEnabled(), true, true, true, + user.getAuthorities()); } } diff --git a/core/src/test/java/org/springframework/security/core/userdetails/memory/InMemoryDaoTests.java b/core/src/test/java/org/springframework/security/core/userdetails/memory/InMemoryDaoTests.java index e0b21c625e..6ce8d51f95 100644 --- a/core/src/test/java/org/springframework/security/core/userdetails/memory/InMemoryDaoTests.java +++ b/core/src/test/java/org/springframework/security/core/userdetails/memory/InMemoryDaoTests.java @@ -30,26 +30,14 @@ import java.util.Properties; * * @author Ben Alex */ +@SuppressWarnings("deprecation") public class InMemoryDaoTests extends TestCase { - //~ Constructors =================================================================================================== - - public InMemoryDaoTests() { - super(); - } - - public InMemoryDaoTests(String arg0) { - super(arg0); - } //~ Methods ======================================================================================================== - public static void main(String[] args) { - junit.textui.TestRunner.run(InMemoryDaoTests.class); - } - private UserMap makeUserMap() { UserMapEditor editor = new UserMapEditor(); - editor.setAsText("rod=koala,ROLE_ONE,ROLE_TWO,enabled\r\nscott=wombat,ROLE_ONE,ROLE_TWO,enabled"); + editor.setAsText("rod=koala,ROLE_ONE,ROLE_TWO,enabled\nScott=wombat,ROLE_ONE,ROLE_TWO,enabled"); return (UserMap) editor.getValue(); } diff --git a/core/src/test/java/org/springframework/security/core/userdetails/memory/UserMapEditorTests.java b/core/src/test/java/org/springframework/security/core/userdetails/memory/UserMapEditorTests.java index 114a3a267b..5b059f90fa 100644 --- a/core/src/test/java/org/springframework/security/core/userdetails/memory/UserMapEditorTests.java +++ b/core/src/test/java/org/springframework/security/core/userdetails/memory/UserMapEditorTests.java @@ -27,27 +27,11 @@ import org.springframework.security.core.userdetails.memory.UserMapEditor; * * @author Ben Alex */ +@SuppressWarnings("deprecation") public class UserMapEditorTests extends TestCase { - //~ Constructors =================================================================================================== - - public UserMapEditorTests() { - super(); - } - - public UserMapEditorTests(String arg0) { - super(arg0); - } //~ Methods ======================================================================================================== - public static void main(String[] args) { - junit.textui.TestRunner.run(UserMapEditorTests.class); - } - - public final void setUp() throws Exception { - super.setUp(); - } - public void testConvertedIntoUserSuccessfullyWhenDisabled() { UserMapEditor editor = new UserMapEditor(); editor.setAsText("rod=koala,ROLE_ONE,ROLE_TWO,disabled"); diff --git a/core/src/test/java/org/springframework/security/core/userdetails/memory/UserMapTests.java b/core/src/test/java/org/springframework/security/core/userdetails/memory/UserMapTests.java index 94924f1b79..17bcb7b96d 100644 --- a/core/src/test/java/org/springframework/security/core/userdetails/memory/UserMapTests.java +++ b/core/src/test/java/org/springframework/security/core/userdetails/memory/UserMapTests.java @@ -29,8 +29,8 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException; * * @author Ben Alex */ +@SuppressWarnings("deprecation") public class UserMapTests { - @Test public void testAddAndRetrieveUser() { UserDetails rod = new User("rod", "koala", true, true, true, true, diff --git a/web/src/test/java/org/springframework/security/web/authentication/www/DigestAuthenticationFilterTests.java b/web/src/test/java/org/springframework/security/web/authentication/www/DigestAuthenticationFilterTests.java index 2116d1d24b..68f0672d91 100644 --- a/web/src/test/java/org/springframework/security/web/authentication/www/DigestAuthenticationFilterTests.java +++ b/web/src/test/java/org/springframework/security/web/authentication/www/DigestAuthenticationFilterTests.java @@ -16,6 +16,7 @@ package org.springframework.security.web.authentication.www; import static org.junit.Assert.*; +import static org.mockito.Mockito.*; import java.io.IOException; import java.util.Map; @@ -37,11 +38,11 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.core.userdetails.cache.NullUserCache; -import org.springframework.security.core.userdetails.memory.InMemoryDaoImpl; -import org.springframework.security.core.userdetails.memory.UserMap; -import org.springframework.security.core.userdetails.memory.UserMapEditor; import org.springframework.util.StringUtils; @@ -109,26 +110,27 @@ public class DigestAuthenticationFilterTests { } @After - public void clearContext() throws Exception { + public void clearContext() { SecurityContextHolder.clearContext(); } @Before - public void setUp() throws Exception { + public void setUp() { SecurityContextHolder.clearContext(); // Create User Details Service - InMemoryDaoImpl dao = new InMemoryDaoImpl(); - UserMapEditor editor = new UserMapEditor(); - editor.setAsText("rod,ok=koala,ROLE_ONE,ROLE_TWO,enabled\r\n"); - dao.setUserMap((UserMap) editor.getValue()); + UserDetailsService uds = new UserDetailsService() { + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + return new User("rod,ok", "koala", AuthorityUtils.createAuthorityList("ROLE_ONE","ROLE_TWO")); + } + }; DigestAuthenticationEntryPoint ep = new DigestAuthenticationEntryPoint(); ep.setRealmName(REALM); ep.setKey(KEY); filter = new DigestAuthenticationFilter(); - filter.setUserDetailsService(dao); + filter.setUserDetailsService(uds); filter.setAuthenticationEntryPoint(ep); request = new MockHttpServletRequest("GET", REQUEST_URI); @@ -169,7 +171,7 @@ public class DigestAuthenticationFilterTests { @Test public void testGettersSetters() { DigestAuthenticationFilter filter = new DigestAuthenticationFilter(); - filter.setUserDetailsService(new InMemoryDaoImpl()); + filter.setUserDetailsService(mock(UserDetailsService.class)); assertTrue(filter.getUserDetailsService() != null); filter.setAuthenticationEntryPoint(new DigestAuthenticationEntryPoint()); @@ -329,7 +331,7 @@ public class DigestAuthenticationFilterTests { @Test(expected=IllegalArgumentException.class) public void startupDetectsMissingAuthenticationEntryPoint() throws Exception { DigestAuthenticationFilter filter = new DigestAuthenticationFilter(); - filter.setUserDetailsService(new InMemoryDaoImpl()); + filter.setUserDetailsService(mock(UserDetailsService.class)); filter.afterPropertiesSet(); }