comparison src/main/java/edu/harvard/iq/dataverse/DataverseSession.java @ 10:a50cf11e5178

Rewrite LGDataverse completely upgrading to dataverse4.0
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Tue, 08 Sep 2015 17:00:21 +0200
parents
children
comparison
equal deleted inserted replaced
9:5926d6419569 10:a50cf11e5178
1 package edu.harvard.iq.dataverse;
2
3 import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinUserServiceBean;
4 import edu.harvard.iq.dataverse.PermissionServiceBean.PermissionQuery;
5 import edu.harvard.iq.dataverse.actionlogging.ActionLogRecord;
6 import edu.harvard.iq.dataverse.actionlogging.ActionLogServiceBean;
7 import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
8 import edu.harvard.iq.dataverse.authorization.users.GuestUser;
9 import edu.harvard.iq.dataverse.authorization.users.User;
10 import edu.harvard.iq.dataverse.authorization.users.UserRequestMetadata;
11 import java.io.Serializable;
12 import javax.ejb.EJB;
13 import javax.enterprise.context.SessionScoped;
14 import javax.faces.context.FacesContext;
15 import javax.inject.Named;
16 import javax.servlet.http.HttpServletRequest;
17
18 /**
19 *
20 * @author gdurand
21 */
22 @Named
23 @SessionScoped
24 public class DataverseSession implements Serializable{
25
26 private User user;
27
28 @EJB
29 PermissionServiceBean permissionsService;
30
31 @EJB
32 BuiltinUserServiceBean usersSvc;
33
34 @EJB
35 ActionLogServiceBean logSvc;
36
37 public User getUser() {
38 if ( user == null ) {
39 user = new GuestUser();
40 }
41
42 if (FacesContext.getCurrentInstance() != null) {
43 user.setRequestMetadata( new UserRequestMetadata((HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest()) );
44 }
45 return user;
46 }
47
48 public void setUser(AuthenticatedUser aUser) {
49 logSvc.log(
50 new ActionLogRecord(ActionLogRecord.ActionType.SessionManagement,(aUser==null) ? "logout" : "login")
51 .setUserIdentifier((aUser!=null) ? aUser.getIdentifier() : (user!=null ? user.getIdentifier() : "") ));
52
53 this.user = aUser;
54 }
55
56 public PermissionQuery on( Dataverse d ) {
57 return permissionsService.userOn(user, d);
58 }
59
60 }