From bfd421016e90d0e5603bbc4b5711208c6b95e7a0 Mon Sep 17 00:00:00 2001 From: Scott Battaglia Date: Tue, 1 Sep 2009 19:52:43 +0000 Subject: [PATCH] SEC-1228 added constructor so a wrapper can be instanciated in one line of code. --- .../UserDetailsByNameServiceWrapper.java | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/springframework/security/core/userdetails/UserDetailsByNameServiceWrapper.java b/core/src/main/java/org/springframework/security/core/userdetails/UserDetailsByNameServiceWrapper.java index 3b1f8d230a..de235874ec 100755 --- a/core/src/main/java/org/springframework/security/core/userdetails/UserDetailsByNameServiceWrapper.java +++ b/core/src/main/java/org/springframework/security/core/userdetails/UserDetailsByNameServiceWrapper.java @@ -11,18 +11,37 @@ import org.springframework.util.Assert; * based on the user name contained in an Authentication object. * * @author Ruud Senden + * @author Scott Battaglia * @since 2.0 */ public class UserDetailsByNameServiceWrapper implements AuthenticationUserDetailsService, InitializingBean { private UserDetailsService userDetailsService = null; + /** + * Constructs an empty wrapper for compatibility with Spring Security 2.0.x's method of using a setter. + */ + public UserDetailsByNameServiceWrapper() { + // constructor for backwards compatibility with 2.0 + } + + /** + * Constructs a new wrapper using the supplied {@link org.springframework.security.core.userdetails.UserDetailsService} + * as the service to delegate to. + * + * @param userDetailsService the UserDetailsService to delegate to. + */ + public UserDetailsByNameServiceWrapper(final UserDetailsService userDetailsService) { + Assert.notNull(userDetailsService, "userDetailsService cannot be null."); + this.userDetailsService = userDetailsService; + } + /** * Check whether all required properties have been set. * * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet() */ public void afterPropertiesSet() throws Exception { - Assert.notNull(userDetailsService, "UserDetailsService must be set"); + Assert.notNull(this.userDetailsService, "UserDetailsService must be set"); } /** @@ -31,7 +50,7 @@ public class UserDetailsByNameServiceWrapper implements AuthenticationUserDetail */ public UserDetails loadUserDetails(Authentication authentication) throws UsernameNotFoundException, DataAccessException { - return userDetailsService.loadUserByUsername(authentication.getName()); + return this.userDetailsService.loadUserByUsername(authentication.getName()); } /** @@ -41,6 +60,6 @@ public class UserDetailsByNameServiceWrapper implements AuthenticationUserDetail * The wrapped UserDetailsService to set */ public void setUserDetailsService(UserDetailsService aUserDetailsService) { - userDetailsService = aUserDetailsService; + this.userDetailsService = aUserDetailsService; } }