From: <fg...@us...> - 2006-11-14 16:09:10
|
Revision: 113 http://svn.sourceforge.net/openutils/?rev=113&view=rev Author: fgiust Date: 2006-11-14 08:08:35 -0800 (Tue, 14 Nov 2006) Log Message: ----------- throw an exception when user is not found (as expected by acegi) Modified Paths: -------------- trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/acegi/HibernateUserDetailsServiceImpl.java trunk/openutils-usermanagement/src/test/java/it/openutils/usermanagement/manager/HibernateUserDetailsServiceTest.java Modified: trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/acegi/HibernateUserDetailsServiceImpl.java =================================================================== --- trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/acegi/HibernateUserDetailsServiceImpl.java 2006-11-13 21:26:43 UTC (rev 112) +++ trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/acegi/HibernateUserDetailsServiceImpl.java 2006-11-14 16:08:35 UTC (rev 113) @@ -42,13 +42,15 @@ user = this.userDao.findFilteredFirst(filter); - // warning: user can be null - if (user != null) + // mandatory: UserDetailsService can't return null + if (user == null) { - log.debug("Groups: {}, Roles {}", user.getGroups(), user.getRoles()); - log.debug("Authorities: {}", ArrayUtils.toString(user.getAuthorities())); + throw new UsernameNotFoundException("Username " + username + " not found"); } + log.debug("Groups: {}, Roles {}", user.getGroups(), user.getRoles()); + log.debug("Authorities: {}", ArrayUtils.toString(user.getAuthorities())); + log.debug("Login:: Returning User to Acegi: {}", user); return user; Modified: trunk/openutils-usermanagement/src/test/java/it/openutils/usermanagement/manager/HibernateUserDetailsServiceTest.java =================================================================== --- trunk/openutils-usermanagement/src/test/java/it/openutils/usermanagement/manager/HibernateUserDetailsServiceTest.java 2006-11-13 21:26:43 UTC (rev 112) +++ trunk/openutils-usermanagement/src/test/java/it/openutils/usermanagement/manager/HibernateUserDetailsServiceTest.java 2006-11-14 16:08:35 UTC (rev 113) @@ -4,6 +4,7 @@ import org.acegisecurity.userdetails.UserDetails; import org.acegisecurity.userdetails.UserDetailsService; +import org.acegisecurity.userdetails.UsernameNotFoundException; /** @@ -21,4 +22,18 @@ } + public void testNotExistingUser() + { + try + { + instance.loadUserByUsername("notexisting"); + } + catch (UsernameNotFoundException e) + { + // as expected + return; + } + fail("Expected UsernameNotFoundException not thrown"); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |