1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.userinfo;
18
19 import java.util.Map;
20
21 import org.apache.jetspeed.request.RequestContext;
22
23 import org.apache.pluto.om.common.ObjectID;
24
25 /***
26 * <p>The {@link UserInfoManager} retrieve the Map that will be set as a
27 * <code>(PortletRequest.USER_INFO</code> request attribute for a specific
28 * portlet application</p>
29 * <p>The portlet specification defines user info as follow (PLT 17):</p>
30 * <p>Portlets can obtain an unmodifiable Map object containing the user attributes,
31 * of user associated with the current request, from the request attributes.
32 * The Map object can be retrieved using the USER_INFO constant defined in the
33 * PortletRequest interface. If the request is done in the context of an
34 * un-authenticated user, calls to the getAttribute method of the request
35 * using the USER_INFO constant must return null. If the user is
36 * authenticated and there are no user attributes available, the Map must
37 * be an empty Map. The Map object must contain a String name value pair for each available user
38 * attribute. The Map object should only contain user attributes that have been mapped
39 * during deployment.</p>
40 * <p>Portlets can obtain an unmodifiable Map object containing the user attributes, of user
41 * associated with the current request, from the request attributes. The Map object can be
42 * retrieved using the USER_INFO constant defined in the PortletRequest interface. If the
43 * request is done in the context of an un-authenticated user, calls to the getAttribute
44 * method of the request using the USER_INFO constant must return null. If the user is
45 * authenticated and there are no user attributes available, the Map must be an empty Map.
46 * The Map object must contain a String name value pair for each available user attribute.
47 * The Map object should only contain user attributes that have been mapped during
48 * deployment.</p>
49 *
50 * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
51 */
52 public interface UserInfoManager
53 {
54
55 /***
56 * <p>Provide the user info map of user attributes for a given portlet application.</p>
57 * @param oid The portlet application object id.
58 * @param context The request context.
59 * @return The {@link PortletRequest.USER_INFO} map.
60 */
61 Map getUserInfoMap(ObjectID oid, RequestContext context);
62 }