From b2cc817835e260648c50b4da4ee2071d54fa4ce2 Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Wed, 6 Feb 2008 17:22:27 +0000 Subject: [PATCH] SEC-456: Basic LDAP authorities populator that delegates to a UserDetailsService. --- ...etailsServiceLdapAuthoritiesPopulator.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 core/src/main/java/org/springframework/security/ldap/populator/UserDetailsServiceLdapAuthoritiesPopulator.java diff --git a/core/src/main/java/org/springframework/security/ldap/populator/UserDetailsServiceLdapAuthoritiesPopulator.java b/core/src/main/java/org/springframework/security/ldap/populator/UserDetailsServiceLdapAuthoritiesPopulator.java new file mode 100644 index 0000000000..98365f807b --- /dev/null +++ b/core/src/main/java/org/springframework/security/ldap/populator/UserDetailsServiceLdapAuthoritiesPopulator.java @@ -0,0 +1,23 @@ +package org.springframework.security.ldap.populator; + +import org.springframework.security.ldap.LdapAuthoritiesPopulator; +import org.springframework.security.GrantedAuthority; +import org.springframework.security.userdetails.UserDetailsService; +import org.springframework.ldap.core.DirContextOperations; + +/** + * @author Luke Taylor + * @version $Id$ + * @since 2.0 + */ +public class UserDetailsServiceLdapAuthoritiesPopulator implements LdapAuthoritiesPopulator { + private UserDetailsService userService; + + public UserDetailsServiceLdapAuthoritiesPopulator(UserDetailsService userService) { + this.userService = userService; + } + + public GrantedAuthority[] getGrantedAuthorities(DirContextOperations userData, String username) { + return userService.loadUserByUsername(username).getAuthorities(); + } +}