From 5394350cc821bfe7197502c6929ebf4735207b53 Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Thu, 31 Jan 2008 14:24:12 +0000 Subject: [PATCH] SEC-576: Renamed PreAuthenticateduserDetailsService to AuthenticationUserdetailsService and changed signature accordingly. --- ...ice.java => AuthenticationUserDetailsService.java} | 9 +++++---- .../PreAuthenticatedAuthenticationProvider.java | 11 +++++------ ...enticatedGrantedAuthoritiesUserDetailsService.java | 7 ++++--- .../preauth/UserDetailsByNameServiceWrapper.java | 7 ++++--- .../PreAuthenticatedAuthenticationProviderTests.java | 6 +++--- ...atedGrantedAuthoritiesUserDetailsServiceTests.java | 6 +++--- .../preauth/UserDetailsByNameServiceWrapperTests.java | 4 ++-- samples/pom.xml | 1 + 8 files changed, 27 insertions(+), 24 deletions(-) rename core/src/main/java/org/springframework/security/providers/preauth/{PreAuthenticatedUserDetailsService.java => AuthenticationUserDetailsService.java} (66%) diff --git a/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedUserDetailsService.java b/core/src/main/java/org/springframework/security/providers/preauth/AuthenticationUserDetailsService.java similarity index 66% rename from core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedUserDetailsService.java rename to core/src/main/java/org/springframework/security/providers/preauth/AuthenticationUserDetailsService.java index bfdfb2852c..b6124422f4 100755 --- a/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedUserDetailsService.java +++ b/core/src/main/java/org/springframework/security/providers/preauth/AuthenticationUserDetailsService.java @@ -2,6 +2,7 @@ package org.springframework.security.providers.preauth; import org.springframework.security.userdetails.UsernameNotFoundException; import org.springframework.security.userdetails.UserDetails; +import org.springframework.security.Authentication; /** @@ -9,18 +10,18 @@ import org.springframework.security.userdetails.UserDetails; * PreAuthenticatedAuthenticationToken object. * * @author Ruud Senden + * @version $Id$ * @since 2.0 */ -public interface PreAuthenticatedUserDetailsService { +public interface AuthenticationUserDetailsService { /** * - * @param token - * The pre-authenticated authentication token + * @param token The pre-authenticated authentication token * @return UserDetails for the given authentication token. * @throws UsernameNotFoundException * if no user details can be found for the given authentication * token */ - UserDetails getUserDetails(PreAuthenticatedAuthenticationToken token) throws UsernameNotFoundException; + UserDetails loadUserDetails(Authentication token) throws UsernameNotFoundException; } diff --git a/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedAuthenticationProvider.java b/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedAuthenticationProvider.java index 815938cdbf..11d8e30464 100644 --- a/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedAuthenticationProvider.java +++ b/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedAuthenticationProvider.java @@ -20,8 +20,7 @@ import org.springframework.util.Assert; *

* This authentication provider will not perform any checks on authentication * requests, as they should already be pre- authenticated. However, the - * PreAuthenticatedUserDetailsService implementation may still throw for exampe - * a UsernameNotFoundException. + * AuthenticationUserDetailsService implementation may still throw a UsernameNotFoundException, for example. * * @author Ruud Senden * @version $Id$ @@ -30,7 +29,7 @@ import org.springframework.util.Assert; public class PreAuthenticatedAuthenticationProvider implements AuthenticationProvider, InitializingBean, Ordered { private static final Log logger = LogFactory.getLog(PreAuthenticatedAuthenticationProvider.class); - private PreAuthenticatedUserDetailsService preAuthenticatedUserDetailsService = null; + private AuthenticationUserDetailsService preAuthenticatedUserDetailsService = null; private int order = -1; // default: same as non-ordered @@ -38,7 +37,7 @@ public class PreAuthenticatedAuthenticationProvider implements AuthenticationPro * Check whether all required properties have been set. */ public void afterPropertiesSet() { - Assert.notNull(preAuthenticatedUserDetailsService, "A PreAuthenticatedUserDetailsService must be set"); + Assert.notNull(preAuthenticatedUserDetailsService, "A AuthenticationUserDetailsService must be set"); } /** @@ -53,7 +52,7 @@ public class PreAuthenticatedAuthenticationProvider implements AuthenticationPro logger.debug("PreAuthenticated authentication request: " + authentication); } - UserDetails ud = preAuthenticatedUserDetailsService.getUserDetails((PreAuthenticatedAuthenticationToken) authentication); + UserDetails ud = preAuthenticatedUserDetailsService.loadUserDetails((PreAuthenticatedAuthenticationToken) authentication); if (ud == null) { return null; @@ -79,7 +78,7 @@ public class PreAuthenticatedAuthenticationProvider implements AuthenticationPro * * @param aPreAuthenticatedUserDetailsService */ - public void setPreAuthenticatedUserDetailsService(PreAuthenticatedUserDetailsService aPreAuthenticatedUserDetailsService) { + public void setPreAuthenticatedUserDetailsService(AuthenticationUserDetailsService aPreAuthenticatedUserDetailsService) { this.preAuthenticatedUserDetailsService = aPreAuthenticatedUserDetailsService; } diff --git a/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedGrantedAuthoritiesUserDetailsService.java b/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedGrantedAuthoritiesUserDetailsService.java index 314dd604d1..4709c70907 100755 --- a/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedGrantedAuthoritiesUserDetailsService.java +++ b/core/src/main/java/org/springframework/security/providers/preauth/PreAuthenticatedGrantedAuthoritiesUserDetailsService.java @@ -4,12 +4,13 @@ import org.springframework.security.userdetails.UserDetails; import org.springframework.security.userdetails.User; import org.springframework.security.GrantedAuthority; import org.springframework.security.AuthenticationException; +import org.springframework.security.Authentication; import org.springframework.util.Assert; /** *

- * This PreAuthenticatedUserDetailsService implementation creates a UserDetails + * This AuthenticationUserDetailsService implementation creates a UserDetails * object based solely on the information contained in the given * PreAuthenticatedAuthenticationToken. The user name is set to the name as * returned by PreAuthenticatedAuthenticationToken.getName(), the password is @@ -27,14 +28,14 @@ import org.springframework.util.Assert; * @author Ruud Senden * @since 2.0 */ -public class PreAuthenticatedGrantedAuthoritiesUserDetailsService implements PreAuthenticatedUserDetailsService { +public class PreAuthenticatedGrantedAuthoritiesUserDetailsService implements AuthenticationUserDetailsService { /** * Get a UserDetails object based on the user name contained in the given * token, and the GrantedAuthorities as returned by the * PreAuthenticatedGrantedAuthoritiesRetriever implementation as returned by * the token.getDetails() method. */ - public UserDetails getUserDetails(PreAuthenticatedAuthenticationToken token) throws AuthenticationException { + public UserDetails loadUserDetails(Authentication token) throws AuthenticationException { Assert.notNull(token.getDetails()); Assert.isInstanceOf(PreAuthenticatedGrantedAuthoritiesRetriever.class, token.getDetails()); GrantedAuthority[] preAuthenticatedGrantedAuthorities = ((PreAuthenticatedGrantedAuthoritiesRetriever) token.getDetails()) diff --git a/core/src/main/java/org/springframework/security/providers/preauth/UserDetailsByNameServiceWrapper.java b/core/src/main/java/org/springframework/security/providers/preauth/UserDetailsByNameServiceWrapper.java index 2dc104e06c..52138813ca 100755 --- a/core/src/main/java/org/springframework/security/providers/preauth/UserDetailsByNameServiceWrapper.java +++ b/core/src/main/java/org/springframework/security/providers/preauth/UserDetailsByNameServiceWrapper.java @@ -3,19 +3,20 @@ package org.springframework.security.providers.preauth; import org.springframework.security.userdetails.UserDetails; import org.springframework.security.userdetails.UserDetailsService; import org.springframework.security.userdetails.UsernameNotFoundException; +import org.springframework.security.Authentication; import org.springframework.beans.factory.InitializingBean; import org.springframework.dao.DataAccessException; import org.springframework.util.Assert; /** - * This implementation for PreAuthenticatedUserDetailsService wraps a regular + * This implementation for AuthenticationUserDetailsService wraps a regular * Spring Security UserDetailsService implementation, to retrieve a UserDetails object * based on the user name contained in a PreAuthenticatedAuthenticationToken. * * @author Ruud Senden * @since 2.0 */ -public class UserDetailsByNameServiceWrapper implements PreAuthenticatedUserDetailsService, InitializingBean { +public class UserDetailsByNameServiceWrapper implements AuthenticationUserDetailsService, InitializingBean { private UserDetailsService userDetailsService = null; /** @@ -31,7 +32,7 @@ public class UserDetailsByNameServiceWrapper implements PreAuthenticatedUserDeta * Get the UserDetails object from the wrapped UserDetailsService * implementation */ - public UserDetails getUserDetails(PreAuthenticatedAuthenticationToken aJ2eeAuthenticationToken) throws UsernameNotFoundException, + public UserDetails loadUserDetails(Authentication aJ2eeAuthenticationToken) throws UsernameNotFoundException, DataAccessException { return userDetailsService.loadUserByUsername(aJ2eeAuthenticationToken.getName()); } diff --git a/core/src/test/java/org/springframework/security/providers/preauth/PreAuthenticatedAuthenticationProviderTests.java b/core/src/test/java/org/springframework/security/providers/preauth/PreAuthenticatedAuthenticationProviderTests.java index 991dea30b4..e0dc02f40d 100755 --- a/core/src/test/java/org/springframework/security/providers/preauth/PreAuthenticatedAuthenticationProviderTests.java +++ b/core/src/test/java/org/springframework/security/providers/preauth/PreAuthenticatedAuthenticationProviderTests.java @@ -87,9 +87,9 @@ public class PreAuthenticatedAuthenticationProviderTests extends TestCase { return result; } - private PreAuthenticatedUserDetailsService getPreAuthenticatedUserDetailsService(final UserDetails aUserDetails) { - return new PreAuthenticatedUserDetailsService() { - public UserDetails getUserDetails(PreAuthenticatedAuthenticationToken token) throws UsernameNotFoundException { + private AuthenticationUserDetailsService getPreAuthenticatedUserDetailsService(final UserDetails aUserDetails) { + return new AuthenticationUserDetailsService() { + public UserDetails loadUserDetails(Authentication token) throws UsernameNotFoundException { if (aUserDetails != null && aUserDetails.getUsername().equals(token.getName())) { return aUserDetails; } else { diff --git a/core/src/test/java/org/springframework/security/providers/preauth/PreAuthenticatedGrantedAuthoritiesUserDetailsServiceTests.java b/core/src/test/java/org/springframework/security/providers/preauth/PreAuthenticatedGrantedAuthoritiesUserDetailsServiceTests.java index a7e50f6bca..1099d59056 100755 --- a/core/src/test/java/org/springframework/security/providers/preauth/PreAuthenticatedGrantedAuthoritiesUserDetailsServiceTests.java +++ b/core/src/test/java/org/springframework/security/providers/preauth/PreAuthenticatedGrantedAuthoritiesUserDetailsServiceTests.java @@ -21,7 +21,7 @@ public class PreAuthenticatedGrantedAuthoritiesUserDetailsServiceTests extends T PreAuthenticatedAuthenticationToken token = new PreAuthenticatedAuthenticationToken("dummy", "dummy"); token.setDetails(new Object()); try { - svc.getUserDetails(token); + svc.loadUserDetails(token); fail("Expected exception didn't occur"); } catch (IllegalArgumentException expected) { } @@ -32,7 +32,7 @@ public class PreAuthenticatedGrantedAuthoritiesUserDetailsServiceTests extends T PreAuthenticatedAuthenticationToken token = new PreAuthenticatedAuthenticationToken("dummy", "dummy"); token.setDetails(null); try { - svc.getUserDetails(token); + svc.loadUserDetails(token); fail("Expected exception didn't occur"); } catch (IllegalArgumentException expected) { } @@ -58,7 +58,7 @@ public class PreAuthenticatedGrantedAuthoritiesUserDetailsServiceTests extends T return gas; } }); - UserDetails ud = svc.getUserDetails(token); + UserDetails ud = svc.loadUserDetails(token); assertTrue(ud.isAccountNonExpired()); assertTrue(ud.isAccountNonLocked()); assertTrue(ud.isCredentialsNonExpired()); diff --git a/core/src/test/java/org/springframework/security/providers/preauth/UserDetailsByNameServiceWrapperTests.java b/core/src/test/java/org/springframework/security/providers/preauth/UserDetailsByNameServiceWrapperTests.java index a8f1a033ca..c0559f76c6 100755 --- a/core/src/test/java/org/springframework/security/providers/preauth/UserDetailsByNameServiceWrapperTests.java +++ b/core/src/test/java/org/springframework/security/providers/preauth/UserDetailsByNameServiceWrapperTests.java @@ -42,9 +42,9 @@ public class UserDetailsByNameServiceWrapperTests extends TestCase { } }); svc.afterPropertiesSet(); - UserDetails result1 = svc.getUserDetails(new PreAuthenticatedAuthenticationToken("dummy", "dummy")); + UserDetails result1 = svc.loadUserDetails(new PreAuthenticatedAuthenticationToken("dummy", "dummy")); assertEquals("Result doesn't match original user", user, result1); - UserDetails result2 = svc.getUserDetails(new PreAuthenticatedAuthenticationToken("dummy2", "dummy")); + UserDetails result2 = svc.loadUserDetails(new PreAuthenticatedAuthenticationToken("dummy2", "dummy")); assertNull("Result should have been null", result2); } diff --git a/samples/pom.xml b/samples/pom.xml index 7c9e01d1a7..3e1cf88a3e 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -18,5 +18,6 @@ contacts tutorial dms + preauth