]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
506c11fac2adabef1717d3a57d2b7caa469d9408
[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         
42     /**
43      * getUserId returns authenticated user id
44      * @return
45      */
46     public abstract String getUserId();
47
48     /**
49      * getTenantIds get tenant ids from the tenant context associated with the
50      * security context
51      * @return
52      */
53     public abstract String[] getTenantIds();
54
55     /**
56      * getCurrentTenantId get id of the tenant associated with the authenticated user
57      * @return
58      */
59     public abstract String getCurrentTenantId();
60
61     /**
62      * getCurrentTenantName get name of the tenant associated with the authenticated user
63      * @return
64      */
65     public abstract String getCurrentTenantName();
66
67     /**
68      * getTenants get tenant context associated with the security context
69      * @see CSpaceTenant
70      * @return
71      */
72     public abstract CSpaceTenant[] getTenants();
73
74     /**
75      * getSubject retrieves security context as Subject
76      * @see javax.security.auth.Subject
77      */
78     public abstract Subject getSubject();
79 }