]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
600aabcdc68a90d6f2cd07c764a5dd261d9df9c0
[tmp/jakarta-migration.git] /
1 /**
2  *  This document is a part of the source code and related artifacts
3  *  for CollectionSpace, an open source collections management system
4  *  for museums and related institutions:
5
6  *  http://www.collectionspace.org
7  *  http://wiki.collectionspace.org
8
9  *  Copyright 2009 University of California at Berkeley
10
11  *  Licensed under the Educational Community License (ECL), Version 2.0.
12  *  You may not use this file except in compliance with this License.
13
14  *  You may obtain a copy of the ECL 2.0 License at
15
16  *  https://source.collectionspace.org/collection-space/LICENSE.txt
17
18  *  Unless required by applicable law or agreed to in writing, software
19  *  distributed under the License is distributed on an "AS IS" BASIS,
20  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  *  See the License for the specific language governing permissions and
22  *  limitations under the License.
23 .
24  */
25 package org.collectionspace.authentication.spi;
26
27 import java.util.List;
28
29 import org.collectionspace.authentication.CSpaceTenant;
30 import org.collectionspace.authentication.CSpaceUser;
31
32 /**
33  * Utilities for accessing the authentication context.
34  */
35 public interface AuthNContext {
36     
37     public static final String ANONYMOUS_USER = "anonymous";
38     public static final String ANONYMOUS_TENANT_ID = "-1";
39     public static final String ANONYMOUS_TENANT_NAME = ANONYMOUS_USER;
40     public static final String SPRING_ADMIN_USER = "SPRING_ADMIN";
41     public static final String TENANT_ID_QUERY_PARAM = "tid";
42     public static final String TENANT_ID_PATH_PARAM = "tenantId";
43
44     /**
45      * Returns the username of the authenticated user.
46      * 
47      * @return the username
48      */
49     public String getUserId();
50
51     /**
52      * Returns the authenticated user.
53      * 
54      * @return the user
55      */
56     public CSpaceUser getUser();
57
58     /**
59      * Returns the id of the primary tenant associated with the authenticated user.
60      * 
61      * @return the tenant id
62      */
63     public String getCurrentTenantId();
64
65     /**
66      * Returns the name of the primary tenant associated with the authenticated user.
67      * 
68      * @return the tenant name
69      */
70     public String getCurrentTenantName();
71     
72     /**
73      * Returns the primary tenant associated with the authenticated user.
74      * 
75      * @return the tenant
76      */
77     public CSpaceTenant getCurrentTenant();
78
79     /**
80      * Returns all tenants associated with the authenticated user.
81      * 
82      * @return a list of tenants
83      */
84     public List<CSpaceTenant> getTenants();
85
86     /**
87      * Returns the ids of all tenants associated with the authenticated user.
88      * 
89      * @return a list of tenant ids
90      */
91     public List<String> getTenantIds();
92 }