View Javadoc

1   package com.atlassian.user.security.authentication;
2   
3   import com.atlassian.user.EntityException;
4   import com.atlassian.user.User;
5   import com.atlassian.user.UserManager;
6   import com.atlassian.user.impl.DefaultUser;
7   import com.atlassian.user.repository.RepositoryIdentifier;
8   import com.atlassian.user.security.password.PasswordEncryptor;
9   
10  public class DefaultAuthenticator implements Authenticator
11  {
12      private final UserManager userManager;
13      private final PasswordEncryptor encryptor;
14  
15      public DefaultAuthenticator(UserManager userManager, PasswordEncryptor encryptor)
16      {
17          this.userManager = userManager;
18          this.encryptor = encryptor;
19      }
20  
21      public boolean authenticate(String username, String password) throws EntityException
22      {
23          User user = userManager.getUser(username);
24          if (user == null) return false;
25          if (!(user instanceof DefaultUser)) return false;
26  
27          DefaultUser defaultUser = (DefaultUser) user;
28          try
29          {
30              return defaultUser.getPassword() != null && defaultUser.getPassword().equals(encryptor.encrypt(password));
31          }
32          catch (Exception e)
33          {
34              throw new EntityAuthenticationException(e);
35          }
36      }
37  
38      public RepositoryIdentifier getRepository()
39      {
40          return userManager.getIdentifier();
41      }
42  }