View Javadoc

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   * An abstract implementation of Authenticator that implements a lot of base methods
14   */
15  public abstract class AbstractAuthenticator implements Authenticator, Serializable
16  {
17      private SecurityConfig config;
18  
19      public void init(final Map params, final SecurityConfig config)
20      {
21          this.config = config;
22      }
23  
24      public void destroy()
25      {}
26  
27      /** @deprecated Use {@link RoleMapper} directly */
28      public abstract boolean isUserInRole(HttpServletRequest request, String role);
29  
30      public String getRemoteUser(final HttpServletRequest request)
31      {
32          final Principal user = getUser(request);
33  
34          if (user == null)
35          {
36              return null;
37          }
38  
39          return user.getName();
40      }
41  
42      public Principal getUser(final HttpServletRequest request)
43      {
44          return getUser(request, null);
45      }
46  
47      public abstract Principal getUser(HttpServletRequest request, HttpServletResponse response);
48  
49      public boolean login(final HttpServletRequest request, final HttpServletResponse response, final String username, final String password) throws AuthenticatorException
50      {
51          return login(request, response, username, password, false);
52  
53      }
54  
55      public abstract boolean login(HttpServletRequest request, HttpServletResponse response, String username, String password, boolean cookie) throws AuthenticatorException;
56  
57      public abstract boolean logout(HttpServletRequest request, HttpServletResponse response) throws AuthenticatorException;
58  
59      protected SecurityConfig getConfig()
60      {
61          return config;
62      }
63  }