1 package compbio.spring.security;
3 import java.util.Collection;
4 import java.util.HashSet;
7 import javax.annotation.Resource;
9 import org.apache.commons.logging.Log;
10 import org.apache.commons.logging.LogFactory;
11 import org.springframework.security.core.GrantedAuthority;
12 import org.springframework.security.core.authority.SimpleGrantedAuthority;
13 import org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper;
14 import org.springframework.security.ldap.authentication.LdapAuthenticationProvider;
17 * Maps groups defined in LDAP to roles for a specific user.
20 public class LDAPAuthorityMapper implements GrantedAuthoritiesMapper {
22 private static final Log logger = LogFactory.getLog(LDAPAuthorityMapper.class);
24 public LDAPAuthorityMapper() {
27 public Collection<? extends GrantedAuthority> mapAuthorities(final Collection<? extends GrantedAuthority> authorities) {
29 Set<PCacheLDAPAuthority> roles = EnumSet.noneOf(PCacheLDAPAuthority.class);
30 roles.add(PCacheLDAPAuthority.ROLE_LDAP_USER);
31 logger.info("LDAPAuthorityMapper: set new role ROLE_LDAP_USER");
33 * for (GrantedAuthority authority : authorities) { if
34 * (ROLE_CUSTOMER_SERVICE_OFFICER.equals(authority.getAuthority())) {
35 * roles.add(PCacheLDAPAuthority.ROLE_USER); } else if
36 * (ROLE_ADMIN.equals(authority.getAuthority())) {
37 * roles.add(PCacheLDAPAuthority.ROLE_ADMIN); } }
43 public Collection<? extends GrantedAuthority> mapAuthorities(final Collection<? extends GrantedAuthority> authorities) {
44 SimpleGrantedAuthority sa = new SimpleGrantedAuthority("ROLE_LDAP_USER");
45 Set<GrantedAuthority> roles = new HashSet<GrantedAuthority>();
47 logger.info("LDAPAuthorityMapper: set new role ROLE_LDAP_USER");