Author: jmcconnell
Date: Tue Dec 5 08:37:53 2006
New Revision: 482705
URL: http://svn.apache.org/viewvc?view=rev&rev=482705
Log:
MRM-242 added a new base role for the repository managers to inherit
Added:
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java
Modified:
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java
maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml
Modified:
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java?view=diff&rev=482705&r1=482704&r2=482705
==============================================================================
---
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java
(original)
+++
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java
Tue Dec 5 08:37:53 2006
@@ -29,6 +29,8 @@
public static final String GUEST_ROLE = "Guest";
+ public static final String BASE_REPOSITORY_MANAGER = "Repository Manager
Base";
+
// dynamic role prefixes
public static final String REPOSITORY_MANAGER_ROLE_PREFIX = "Repository
Manager";
Modified:
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java?view=diff&rev=482705&r1=482704&r2=482705
==============================================================================
---
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java
(original)
+++
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java
Tue Dec 5 08:37:53 2006
@@ -32,6 +32,8 @@
public void initialize()
throws RoleProfileException
{
+ getRole( "archiva-repository-manager-base" );
+
mergeRoleProfiles( "system-administrator",
"archiva-system-administrator" );
mergeRoleProfiles( "user-administrator", "archiva-user-administrator"
);
mergeRoleProfiles( "guest", "archiva-guest" );
Added:
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java?view=auto&rev=482705
==============================================================================
---
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java
(added)
+++
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java
Tue Dec 5 08:37:53 2006
@@ -0,0 +1,42 @@
+package org.apache.maven.archiva.security;
+
+import org.codehaus.plexus.rbac.profile.AbstractRoleProfile;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @plexus.component role="org.codehaus.plexus.rbac.profile.RoleProfile"
+ * role-hint="archiva-repository-manager-base"
+ */
+public class BaseRepositoryManagerRoleProfile
+ extends AbstractRoleProfile
+{
+ /**
+ * Create the Role name for a Repository Manager, using the provided
repository id.
+ *
+ */
+ public String getRoleName( )
+ {
+ return ArchivaRoleConstants.BASE_REPOSITORY_MANAGER;
+ }
+
+ public List getOperations()
+ {
+ List operations = new ArrayList();
+
+ operations.add( ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION );
+
+ return operations;
+ }
+
+ public boolean isPermanent()
+ {
+ return true;
+ }
+
+ public boolean isAssignable()
+ {
+ return false;
+ }
+}
Modified:
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java?view=diff&rev=482705&r1=482704&r2=482705
==============================================================================
---
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java
(original)
+++
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java
Tue Dec 5 08:37:53 2006
@@ -52,6 +52,12 @@
return operations;
}
+
+ public List getChildRoles()
+ {
+ return Collections.singletonList(
ArchivaRoleConstants.BASE_REPOSITORY_MANAGER );
+ }
+
public List getDynamicChildRoles( String string )
{
return Collections.singletonList(
Modified:
maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=482705&r1=482704&r2=482705
==============================================================================
---
maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml
(original)
+++
maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml
Tue Dec 5 08:37:53 2006
@@ -81,6 +81,20 @@
</requirements>
</component>
<component>
+ <role>org.codehaus.plexus.rbac.profile.RoleProfile</role>
+ <role-hint>archiva-repository-manager-base</role-hint>
+
<implementation>org.apache.maven.archiva.security.BaseRepositoryManagerRoleProfile</implementation>
+ <requirements>
+ <requirement>
+ <role>org.codehaus.plexus.security.rbac.RBACManager</role>
+ </requirement>
+ <requirement>
+ <role>org.codehaus.plexus.PlexusContainer</role>
+ <field-name>container</field-name>
+ </requirement>
+ </requirements>
+ </component>
+ <component>
<role>org.codehaus.plexus.rbac.profile.DynamicRoleProfile</role>
<role-hint>archiva-repository-manager</role-hint>
<implementation>org.apache.maven.archiva.security.RepositoryManagerDynamicRoleProfile</implementation>