]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
1b7b536a6ca0289a5c7865bf34cf9e6cdaa4b441
[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 javax.security.auth.Subject;
28 import org.collectionspace.authentication.CSpaceTenant;
29
30 /**
31  * Utilities to be used by Services runtime to interface with authentication service
32  * @author 
33  */
34 public abstract class AuthNContext {
35
36         public static final String ANONYMOUS_USER = "anonymous";
37         public static final String ANONYMOUS_TENANT_ID = "-1";
38         public static final String ANONYMOUS_TENANT_NAME = ANONYMOUS_USER;
39     public static final String SPRING_ADMIN_USER = "SPRING_ADMIN";
40     public static final String TENANT_ID_QUERY_PARAM = "tid";
41     public static final String TENANT_ID_PATH_PARAM = "tenantId";
42
43         
44     /**
45      * getUserId returns authenticated user id
46      * @return
47      */
48     public abstract String getUserId();
49
50     /**
51      * getTenantIds get tenant ids from the tenant context associated with the
52      * security context
53      * @return
54      */
55     public abstract String[] getTenantIds();
56
57     /**
58      * getCurrentTenantId get id of the tenant associated with the authenticated user
59      * @return
60      */
61     public abstract String getCurrentTenantId();
62
63     /**
64      * getCurrentTenantName get name of the tenant associated with the authenticated user
65      * @return
66      */
67     public abstract String getCurrentTenantName();
68
69     /**
70      * getTenants get tenant context associated with the security context
71      * @see CSpaceTenant
72      * @return
73      */
74     public abstract CSpaceTenant[] getTenants();
75
76     /**
77      * getSubject retrieves security context as Subject
78      * @see javax.security.auth.Subject
79      */
80     public abstract Subject getSubject();
81 }