@SuppressWarnings("unchecked") /** * Sets the UserDetailsService to use. This is a convenience method to invoke */ public void setUserDetailsService(final UserDetailsService userDetailsService) { this.authenticationUserDetailsService = new UserDetailsByNameServiceWrapper( userDetailsService); }
/** * Shortcut for invoking * {@link #authenticationUserDetailsService(AuthenticationUserDetailsService)} with a * {@link UserDetailsByNameServiceWrapper}. * * @param userDetailsService the {@link UserDetailsService} to use * @return the {@link X509Configurer} for further customizations */ public X509Configurer<H> userDetailsService(UserDetailsService userDetailsService) { UserDetailsByNameServiceWrapper<PreAuthenticatedAuthenticationToken> authenticationUserDetailsService = new UserDetailsByNameServiceWrapper<>(); authenticationUserDetailsService.setUserDetailsService(userDetailsService); return authenticationUserDetailsService(authenticationUserDetailsService); }
@Test public final void testGetUserDetails() throws Exception { UserDetailsByNameServiceWrapper svc = new UserDetailsByNameServiceWrapper(); final User user = new User("dummy", "dummy", true, true, true, true, AuthorityUtils.NO_AUTHORITIES); svc.setUserDetailsService(new UserDetailsService() { public UserDetails loadUserByUsername(String name) { if (user != null && user.getUsername().equals(name)) { return user; } else { return null; } } }); svc.afterPropertiesSet(); UserDetails result1 = svc.loadUserDetails(new TestingAuthenticationToken("dummy", "dummy")); assertThat(result1).as("Result doesn't match original user").isEqualTo(user); UserDetails result2 = svc.loadUserDetails(new TestingAuthenticationToken( "dummy2", "dummy")); assertThat(result2).as("Result should have been null").isNull(); }
@Test public final void testAfterPropertiesSet() { UserDetailsByNameServiceWrapper svc = new UserDetailsByNameServiceWrapper(); try { svc.afterPropertiesSet(); fail("AfterPropertiesSet didn't throw expected exception"); } catch (IllegalArgumentException expected) { } catch (Exception unexpected) { fail("AfterPropertiesSet throws unexpected exception"); } }
/** * Used to load the {@code UserDetails} for the authenticated OpenID user. */ public void setUserDetailsService(UserDetailsService userDetailsService) { this.userDetailsService = new UserDetailsByNameServiceWrapper<>( userDetailsService); }
/** * Shortcut for invoking * {@link #authenticationUserDetailsService(AuthenticationUserDetailsService)} with a * {@link UserDetailsByNameServiceWrapper}. * * @param userDetailsService the {@link UserDetailsService} to use * @return the {@link X509Configurer} for further customizations */ public X509Configurer<H> userDetailsService(UserDetailsService userDetailsService) { UserDetailsByNameServiceWrapper<PreAuthenticatedAuthenticationToken> authenticationUserDetailsService = new UserDetailsByNameServiceWrapper<>(); authenticationUserDetailsService.setUserDetailsService(userDetailsService); return authenticationUserDetailsService(authenticationUserDetailsService); }
/** * Gets the {@link AuthenticationUserDetailsService} that was configured or defaults * to {@link UserDetailsByNameServiceWrapper} that uses a {@link UserDetailsService} * looked up using {@link HttpSecurity#getSharedObject(Class)} * * @param http the current {@link HttpSecurity} * @return the {@link AuthenticationUserDetailsService}. */ private AuthenticationUserDetailsService<OpenIDAuthenticationToken> getAuthenticationUserDetailsService( H http) { if (this.authenticationUserDetailsService != null) { return this.authenticationUserDetailsService; } return new UserDetailsByNameServiceWrapper<>( http.getSharedObject(UserDetailsService.class)); }
/** * Shortcut for invoking {@link #authenticationUserDetailsService(AuthenticationUserDetailsService)} with a {@link UserDetailsByNameServiceWrapper}. * * @param userDetailsService the {@link UserDetailsService} to use * @return the {@link X509Configurer} for further customizations */ public X509Configurer<H> userDetailsService( UserDetailsService userDetailsService) { UserDetailsByNameServiceWrapper<PreAuthenticatedAuthenticationToken> authenticationUserDetailsService = new UserDetailsByNameServiceWrapper<PreAuthenticatedAuthenticationToken>(); authenticationUserDetailsService.setUserDetailsService(userDetailsService); return authenticationUserDetailsService(authenticationUserDetailsService); }
private void addUserDetailsService(DefaultTokenServices tokenServices, UserDetailsService userDetailsService) { if (userDetailsService != null) { PreAuthenticatedAuthenticationProvider provider = new PreAuthenticatedAuthenticationProvider(); provider.setPreAuthenticatedUserDetailsService(new UserDetailsByNameServiceWrapper<PreAuthenticatedAuthenticationToken>( userDetailsService)); tokenServices .setAuthenticationManager(new ProviderManager(Arrays.<AuthenticationProvider> asList(provider))); } }
/** * Configures the userDetailsService wrapper with the userDetailsService. * * @return the UserDetailsByNameServiceWrapper */ @Bean public UserDetailsByNameServiceWrapper<PreAuthenticatedAuthenticationToken> userDetailsServiceWrapper() { UserDetailsByNameServiceWrapper<PreAuthenticatedAuthenticationToken> wrapper = new UserDetailsByNameServiceWrapper<>(); wrapper.setUserDetailsService(new UserDetailsServiceImpl()); return wrapper; }
/** * Shortcut for invoking * {@link #authenticationUserDetailsService(AuthenticationUserDetailsService)} with a * {@link UserDetailsByNameServiceWrapper}. * * @param userDetailsService the {@link UserDetailsService} to use * @return the {@link X509Configurer} for further customizations */ public X509Configurer<H> userDetailsService(UserDetailsService userDetailsService) { UserDetailsByNameServiceWrapper<PreAuthenticatedAuthenticationToken> authenticationUserDetailsService = new UserDetailsByNameServiceWrapper<>(); authenticationUserDetailsService.setUserDetailsService(userDetailsService); return authenticationUserDetailsService(authenticationUserDetailsService); }
@Test public void testAuthenticateFailure() { OpenIDAuthenticationProvider provider = new OpenIDAuthenticationProvider(); provider.setAuthenticationUserDetailsService( new UserDetailsByNameServiceWrapper<>( new MockUserDetailsService())); Authentication preAuth = new OpenIDAuthenticationToken( OpenIDAuthenticationStatus.FAILURE, USERNAME, "", null); assertThat(preAuth.isAuthenticated()).isFalse(); try { provider.authenticate(preAuth); fail("Should throw an AuthenticationException"); } catch (BadCredentialsException expected) { assertThat("Log in failed - identity could not be verified").isEqualTo( expected.getMessage()); } }
/** * Gets the {@link AuthenticationUserDetailsService} that was configured or defaults * to {@link UserDetailsByNameServiceWrapper} that uses a {@link UserDetailsService} * looked up using {@link HttpSecurity#getSharedObject(Class)} * * @param http the current {@link HttpSecurity} * @return the {@link AuthenticationUserDetailsService}. */ private AuthenticationUserDetailsService<OpenIDAuthenticationToken> getAuthenticationUserDetailsService( H http) { if (this.authenticationUserDetailsService != null) { return this.authenticationUserDetailsService; } return new UserDetailsByNameServiceWrapper<>( http.getSharedObject(UserDetailsService.class)); }
return new UserDetailsByNameServiceWrapper(uds);
@SuppressWarnings("unchecked") /** * Sets the UserDetailsService to use. This is a convenience method to invoke */ public void setUserDetailsService(final UserDetailsService userDetailsService) { this.authenticationUserDetailsService = new UserDetailsByNameServiceWrapper( userDetailsService); }
@SuppressWarnings("unchecked") /** * Sets the UserDetailsService to use. This is a convenience method to invoke */ public void setUserDetailsService(final UserDetailsService userDetailsService) { this.authenticationUserDetailsService = new UserDetailsByNameServiceWrapper( userDetailsService); }
/** * Used to load the {@code UserDetails} for the authenticated OpenID user. */ public void setUserDetailsService(UserDetailsService userDetailsService) { this.userDetailsService = new UserDetailsByNameServiceWrapper<>( userDetailsService); }
/** * Gets the {@link AuthenticationUserDetailsService} that was configured or * defaults to {@link UserDetailsByNameServiceWrapper} that uses a * {@link UserDetailsService} looked up using * {@link HttpSecurity#getSharedObject(Class)} * * @param http the current {@link HttpSecurity} * @return the {@link AuthenticationUserDetailsService}. */ private AuthenticationUserDetailsService<OpenIDAuthenticationToken> getAuthenticationUserDetailsService( H http) { if(authenticationUserDetailsService != null) { return authenticationUserDetailsService; } return new UserDetailsByNameServiceWrapper<OpenIDAuthenticationToken>(http.getSharedObject(UserDetailsService.class)); }
/** * Gets the {@link AuthenticationUserDetailsService} that was configured or defaults * to {@link UserDetailsByNameServiceWrapper} that uses a {@link UserDetailsService} * looked up using {@link HttpSecurity#getSharedObject(Class)} * * @param http the current {@link HttpSecurity} * @return the {@link AuthenticationUserDetailsService}. */ private AuthenticationUserDetailsService<OpenIDAuthenticationToken> getAuthenticationUserDetailsService( H http) { if (this.authenticationUserDetailsService != null) { return this.authenticationUserDetailsService; } return new UserDetailsByNameServiceWrapper<>( http.getSharedObject(UserDetailsService.class)); }