1 package com.atlassian.security.auth.trustedapps.seraph.filter;
2
3 import com.atlassian.security.auth.trustedapps.filter.AuthenticationController;
4 import com.atlassian.seraph.filter.BaseLoginFilter;
5 import com.atlassian.seraph.auth.RoleMapper;
6
7 import javax.servlet.http.HttpServletRequest;
8 import java.security.Principal;
9
10
11
12
13 public class SeraphAuthenticationController implements AuthenticationController
14 {
15 private final RoleMapper roleMapper;
16
17
18
19
20
21 public SeraphAuthenticationController(RoleMapper roleMapper)
22 {
23 if (roleMapper == null)
24 {
25 throw new IllegalArgumentException("roleMapper must not be null!");
26 }
27 this.roleMapper = roleMapper;
28 }
29
30
31
32
33
34
35 public boolean canLogin(Principal principal, HttpServletRequest request)
36 {
37 return roleMapper.canLogin(principal, request);
38 }
39
40
41
42
43
44 public boolean shouldAttemptAuthentication(HttpServletRequest request)
45 {
46 return request.getAttribute(BaseLoginFilter.OS_AUTHSTATUS_KEY) == null;
47 }
48 }