1 package com.atlassian.seraph.auth;
2
3 import com.atlassian.seraph.config.SecurityConfig;
4 import com.atlassian.seraph.util.GroupCache;
5
6 import java.security.Principal;
7 import java.util.Collection;
8 import java.util.Map;
9
10 import javax.servlet.http.HttpServletRequest;
11
12
13
14
15
16
17 public class GroupRoleMapper implements RoleMapper
18 {
19 public void init(final Map<String, String> params, final SecurityConfig config)
20 {}
21
22
23
24
25 public boolean hasRole(final Principal user, final HttpServletRequest request, final String role)
26 {
27 final Collection<String> groups = GroupCache.getGroups(request);
28
29 if ((groups == null) && (role == null))
30 {
31 return true;
32 }
33 else if (groups == null)
34 {
35 return false;
36 }
37 else
38 {
39 return groups.contains(role);
40 }
41 }
42
43
44
45
46
47 public boolean canLogin(final Principal user, final HttpServletRequest request)
48 {
49 return user != null;
50 }
51 }