Project

General

Profile

1
package eu.dnetlib.functionality.modular.ui.users;
2

    
3
import java.security.Principal;
4

    
5
import javax.servlet.http.HttpServletRequest;
6

    
7
import org.springframework.beans.factory.annotation.Required;
8

    
9
import com.google.common.collect.Sets;
10

    
11
public class SimpleAuthorizationManager implements AuthorizationManager {
12
	
13
	
14
	private AuthorizationDAO authorizationDAO;
15
	
16
	private String defaultSuperAdmin;
17
	
18
	@Override
19
	public User obtainUserDetails(final HttpServletRequest request) {
20
		final Principal principal = request.getUserPrincipal();
21
		
22
		final User user = new User();
23
		
24
		if (principal != null) {
25
	        final String username = principal.getName();
26
	        if (username != null) {
27
	        	user.setId(username);
28
	        	user.setFullname(username);
29
	        	user.setPermissionLevels(authorizationDAO.getPermissionLevels(username));
30
	        	if (username.equals(getDefaultSuperAdmin())) {
31
	        		user.getPermissionLevels().add(PermissionLevel.SUPER_ADMIN);
32
	        	}
33
	        } else {
34
	        	user.setId("anonymous");
35
	        	user.setFullname("anonymous");
36
	        	user.setPermissionLevels(Sets.newHashSet(PermissionLevel.GUEST));
37
	        }
38
	    }
39
		
40
		return user;
41
	}
42

    
43
	public AuthorizationDAO getAuthorizationDAO() {
44
		return authorizationDAO;
45
	}
46

    
47
	@Required
48
	public void setAuthorizationDAO(AuthorizationDAO authorizationDAO) {
49
		this.authorizationDAO = authorizationDAO;
50
	}
51

    
52
	public String getDefaultSuperAdmin() {
53
		return defaultSuperAdmin;
54
	}
55

    
56
	@Required
57
	public void setDefaultSuperAdmin(String defaultSuperAdmin) {
58
		this.defaultSuperAdmin = defaultSuperAdmin;
59
	}
60

    
61
}
(7-7/9)