1 package org.apache.maven.archiva.security;
4 * Copyright 2005-2006 The Apache Software Foundation.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
19 import org.codehaus.plexus.rbac.profile.AbstractRoleProfile;
21 import java.util.ArrayList;
22 import java.util.List;
25 * @todo why does this need to be created in the client app?
26 * @todo composition instead of inheritence?
27 * @plexus.component role="org.codehaus.plexus.rbac.profile.RoleProfile" role-hint="archiva-system-administrator"
29 public class ArchivaSystemAdministratorRoleProfile
30 extends AbstractRoleProfile
32 public String getRoleName()
34 return ArchivaRoleConstants.SYSTEM_ADMINISTRATOR_ROLE;
37 public List getOperations()
39 List operations = new ArrayList();
40 operations.add( ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION );
41 operations.add( ArchivaRoleConstants.OPERATION_MANAGE_USERS );
42 operations.add( ArchivaRoleConstants.OPERATION_RUN_INDEXER );
43 operations.add( ArchivaRoleConstants.OPERATION_REGENERATE_INDEX );
44 operations.add( ArchivaRoleConstants.OPERATION_ACCESS_REPORT ); // TODO: does this need to be templated?
45 operations.add( ArchivaRoleConstants.OPERATION_ADD_REPOSITORY );
46 operations.add( ArchivaRoleConstants.OPERATION_EDIT_REPOSITORY );
47 operations.add( ArchivaRoleConstants.OPERATION_DELETE_REPOSITORY );
48 // we don't add access/upload repository operations. This isn't a sys-admin function, and we don't want to
49 // encourage the use of the sys admin role for such operations. They can grant it as necessary.
53 public boolean isAssignable()