From 9a014b52dccfb1fcc6890f663fe21003d23fd1e3 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Tue, 15 Jan 2013 17:55:53 +0000 Subject: [PATCH] use our own RBACManager to be able to configure dynamically real impls used git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1433553 13f79535-47bb-0310-9956-ffa450edef68 --- .../consumers/lucene/test/TestRBACManager.java | 6 ++++++ .../DefaultRedbackRuntimeConfigurationAdmin.java | 12 ++++++------ archiva-modules/archiva-web/archiva-webapp/pom.xml | 5 +++++ .../src/main/webapp/WEB-INF/applicationContext.xml | 1 + pom.xml | 11 +++++++++++ 5 files changed, 29 insertions(+), 6 deletions(-) diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/archiva/consumers/lucene/test/TestRBACManager.java b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/archiva/consumers/lucene/test/TestRBACManager.java index 2332b0b57..2e6f89182 100644 --- a/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/archiva/consumers/lucene/test/TestRBACManager.java +++ b/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/archiva/consumers/lucene/test/TestRBACManager.java @@ -41,6 +41,12 @@ import java.util.Set; @Service("rbacManager#cached") public class TestRBACManager implements RBACManager { + + public void initialize() + { + //To change body of implemented methods use File | Settings | File Templates. + } + public void addListener( RBACManagerListener listener ) { //To change body of implemented methods use File | Settings | File Templates. diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java index 6dc5b0def..3b8e30a3a 100644 --- a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java +++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java @@ -96,14 +96,14 @@ public class DefaultRedbackRuntimeConfigurationAdmin } } - String authorizerImpls = + String rbacManagerImpls = userConfiguration.getConcatenatedList( UserConfigurationKeys.RBAC_MANAGER_IMPL, "cached" ); - if ( StringUtils.isNotEmpty( authorizerImpls ) ) + if ( StringUtils.isNotEmpty( rbacManagerImpls ) ) { - if ( StringUtils.contains( authorizerImpls, ',' ) ) + if ( StringUtils.contains( rbacManagerImpls, ',' ) ) { - String[] impls = StringUtils.split( authorizerImpls, ',' ); + String[] impls = StringUtils.split( rbacManagerImpls, ',' ); for ( String impl : impls ) { redbackRuntimeConfiguration.getRbacManagerImpls().add( impl ); @@ -157,8 +157,8 @@ public class DefaultRedbackRuntimeConfigurationAdmin if ( redbackRuntimeConfiguration.getRbacManagerImpls().isEmpty() ) { log.info( - "redbackRuntimeConfiguration with empty authorizerImpls so force at least rbac implementation !" ); - redbackRuntimeConfiguration.getRbacManagerImpls().add( "rbac" ); + "redbackRuntimeConfiguration with empty rbacManagerImpls so force at least cached implementation !" ); + redbackRuntimeConfiguration.getRbacManagerImpls().add( "cached" ); updateRedbackRuntimeConfiguration( redbackRuntimeConfiguration ); } diff --git a/archiva-modules/archiva-web/archiva-webapp/pom.xml b/archiva-modules/archiva-web/archiva-webapp/pom.xml index ab512a18c..68fa8a15d 100644 --- a/archiva-modules/archiva-web/archiva-webapp/pom.xml +++ b/archiva-modules/archiva-web/archiva-webapp/pom.xml @@ -640,6 +640,11 @@ + + org.apache.archiva.redback + redback-rbac-ldap + + org.apache.archiva.redback redback-rest-services diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml index 3d082ea37..9410ec156 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml @@ -41,6 +41,7 @@ + diff --git a/pom.xml b/pom.xml index 82afda02a..d9bda64ad 100644 --- a/pom.xml +++ b/pom.xml @@ -1032,6 +1032,17 @@ + + org.apache.archiva.redback + redback-rbac-ldap + ${redback.version} + + + commons-logging + commons-logging + + + org.apache.archiva.redback -- 2.39.5