Browse Source

Adapting to redback LDAP group mapping change

pull/61/head
Martin Stockhammer 3 years ago
parent
commit
dcf4c111e5

+ 29
- 0
archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaLdapRoleMapperConfiguration.java View File

@@ -36,6 +36,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;

/**
* @author Olivier Lamy
@@ -151,6 +152,34 @@ public class ArchivaLdapRoleMapperConfiguration
}
}

@Override
public Collection<String> getLdapGroupMapping( final String groupName ) throws MappingException
{
try
{
RedbackRuntimeConfiguration redbackRuntimeConfiguration =
redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration();

List<LdapGroupMapping> ldapGroupMappings = redbackRuntimeConfiguration.getLdapGroupMappings();

if ( ldapGroupMappings == null )
{
return Collections.EMPTY_LIST;
}

Optional<LdapGroupMapping> result = ldapGroupMappings.stream( ).filter( mapping -> mapping.getGroup( ).equals( groupName ) ).findFirst( );
if (result.isPresent()) {
return result.get( ).getRoleNames( );
} else {
throw new MappingException( "Group " + groupName + " not found" );
}
}
catch ( RepositoryAdminException e )
{
throw new MappingException( e.getMessage(), e );
}
}

@Override
public void setLdapGroupMappings( Map<String, List<String>> mappings )
throws MappingException

Loading…
Cancel
Save