1 package com.atlassian.seraph.auth;
2
3 import com.atlassian.seraph.elevatedsecurity.ElevatedSecurityGuard;
4 import com.atlassian.seraph.service.rememberme.RememberMeService;
5
6 import java.security.Principal;
7 import java.util.HashMap;
8 import java.util.Map;
9
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12
13
14
15
16
17
18
19 public class StubAuthenticator extends DefaultAuthenticator
20 {
21 private final Map<String, Principal> users = new HashMap<String, Principal>();
22 private ElevatedSecurityGuard elevatedSecurityGuard;
23 private RememberMeService rememberMeService;
24 private boolean desiredLoginAnswer = true;
25
26 @Override
27 public boolean login(final HttpServletRequest request, final HttpServletResponse response, final String username, final String password, final boolean cookie)
28 {
29 return desiredLoginAnswer;
30 }
31
32 @Override
33 protected boolean authoriseUserAndEstablishSession(final HttpServletRequest request, final HttpServletResponse response, final Principal principal)
34 {
35 return desiredLoginAnswer;
36 }
37
38 @Override
39 protected Principal getUser(final String username)
40 {
41 return users.get(username);
42 }
43
44 void addUser(final String username, final Principal user)
45 {
46 users.put(username, user);
47 }
48
49 @Override
50 protected ElevatedSecurityGuard getElevatedSecurityGuard()
51 {
52 if (elevatedSecurityGuard == null)
53 {
54 return super.getElevatedSecurityGuard();
55 }
56 return elevatedSecurityGuard;
57 }
58
59 @Override
60 protected RememberMeService getRememberMeService()
61 {
62 if (rememberMeService == null)
63 {
64 return super.getRememberMeService();
65 }
66 return rememberMeService;
67 }
68
69 protected void setElevatedSecurityGuard(ElevatedSecurityGuard elevatedSecurityGuard)
70 {
71 this.elevatedSecurityGuard = elevatedSecurityGuard;
72 }
73
74 protected void setRememberMeService(RememberMeService rememberMeService)
75 {
76 this.rememberMeService = rememberMeService;
77 }
78
79 void setDesiredLoginAnswer(boolean desiredLoginAnswer)
80 {
81 this.desiredLoginAnswer = desiredLoginAnswer;
82 }
83 }