]> source.dussan.org Git - archiva.git/blob
949e9b5a3bc1d859706df6890bdb5e2223906d7f
[archiva.git] /
1 package org.apache.archiva.redback.rbac.ldap;
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  */
20
21 import org.apache.archiva.redback.common.ldap.MappingException;
22
23 import java.util.List;
24 import java.util.Map;
25
26 /**
27  * will map ldap group to redback role
28  *
29  * @author Olivier Lamy
30  * @since 2.1
31  */
32 public interface LdapRoleMapper
33 {
34     /**
35      * @param role redback role
36      * @return corresponding LDAP group
37      */
38     String getLdapGroup( String role )
39         throws MappingException;
40
41     // for continuum ?
42     //String getLdapGroup( String role, String resource );
43
44
45     /**
46      * @return all LDAP groups
47      */
48     List<String> getAllGroups()
49         throws MappingException;
50
51
52     /**
53      * @return the base dn which contains all ldap groups
54      */
55     String getGroupsDn();
56
57     /**
58      * @return the class used for group usually groupOfUniqueNames
59      */
60     String getLdapGroupClass();
61
62     /**
63      * @param group ldap group
64      * @return uids of group members
65      * @throws MappingException
66      */
67     List<String> getGroupsMember( String group )
68         throws MappingException;
69
70     List<String> getGroups( String username )
71         throws MappingException;
72
73     /**
74      * add mapping redback role <-> ldap group
75      *
76      * @param role      redback role
77      * @param ldapGroup ldap group
78      */
79     void addLdapMapping( String role, String ldapGroup )
80         throws MappingException;
81
82     /**
83      * remove a mapping
84      *
85      * @param role redback role
86      */
87     void removeLdapMapping( String role )
88         throws MappingException;
89
90     /**
91      * @return Map of corresponding Redback role (key) and LDAP group (value)
92      */
93     Map<String, String> getLdapGroupMappings()
94         throws MappingException;
95
96 }