1 package com.atlassian.seraph.auth;
2
3 import com.atlassian.seraph.config.SecurityConfig;
4
5 import java.io.Serializable;
6 import java.security.Principal;
7 import java.util.Map;
8
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11
12
13
14
15 public abstract class AbstractAuthenticator implements Authenticator, Serializable
16 {
17 private SecurityConfig config;
18
19 public void init(final Map<String, String> params, final SecurityConfig config)
20 {
21 this.config = config;
22 }
23
24 public void destroy()
25 {}
26
27
28 @Deprecated
29 public abstract boolean isUserInRole(HttpServletRequest request, String role);
30
31 public String getRemoteUser(final HttpServletRequest request)
32 {
33 final Principal user = getUser(request);
34
35 if (user == null)
36 {
37 return null;
38 }
39
40 return user.getName();
41 }
42
43 public Principal getUser(final HttpServletRequest request)
44 {
45 return getUser(request, null);
46 }
47
48 public abstract Principal getUser(HttpServletRequest request, HttpServletResponse response);
49
50 public boolean login(final HttpServletRequest request, final HttpServletResponse response, final String username, final String password) throws AuthenticatorException
51 {
52 return login(request, response, username, password, false);
53
54 }
55
56 public abstract boolean login(HttpServletRequest request, HttpServletResponse response, String username, String password, boolean cookie) throws AuthenticatorException;
57
58 public abstract boolean logout(HttpServletRequest request, HttpServletResponse response) throws AuthenticatorException;
59
60 protected SecurityConfig getConfig()
61 {
62 return config;
63 }
64 }