Package com.logicaldoc.core.security.authentication

# Class DefaultAuthenticator

java.lang.Object
com.logicaldoc.core.security.authentication.AbstractAuthenticator
com.logicaldoc.core.security.authentication.DefaultAuthenticator

All Implemented Interfaces:
  `Authenticator`

Direct Known Subclasses:
  `ApiKeyAuthenticator`

@Component("defaultAuthenticator") public class DefaultAuthenticator extends AbstractAuthenticator
This is the basic authentication mechanism, that searches for the user in the LogicalDOC database.

Since:
  4.5
Author:
  Sebastian Wenzky

## Constructor Summary

Constructors
Constructor
Description
`DefaultAuthenticator()`

## Method Summary

Modifier and Type
Method
Description
`User`
`authenticate(String username, String password)`
Authenticates the user using the given credentials, if successful, the corresponding user is returned.
`User`
`authenticate(String username, String password, String key, Client client)`
Authenticates the user using the given credentials, if successful, the corresponding user is returned.
`User`
`pickUser(String username)`
This method does not authenticate the user but just retrieves his details
`void`
`validateUser(User user)`
Perform some security validations on the user but does not check the password.

### Methods inherited from class com.logicaldoc.core.security.authentication.AbstractAuthenticator

`authenticate, canAuthenticateUser, isEnabled`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DefaultAuthenticator

public DefaultAuthenticator()

## Method Details

### authenticate

public User authenticate(String username, String password) throws AuthenticationException
Description copied from interface: `Authenticator`
Authenticates the user using the given credentials, if successful, the corresponding user is returned.

Parameters:
  `username` - the username
  `password` - the password
Returns:
  The user, or null if the authentication was unsuccessful
Throws:
  `AuthenticationException`

### authenticate

public User authenticate(String username, String password, String key, Client client) throws AuthenticationException
Description copied from interface: `Authenticator`
Authenticates the user using the given credentials, if successful, the corresponding user is returned.

Specified by:
  `authenticate` in interface `Authenticator`
Overrides:
  `authenticate` in class `AbstractAuthenticator`
Parameters:
  `username` - the username
  `password` - the password
  `key` - Optional third authentication parameter
  `client` - Client informations
Returns:
  The user, or null if the authentication was unsuccessful
Throws:
  `AuthenticationException`

### pickUser

public User pickUser(String username) throws PersistenceException
Description copied from interface: `Authenticator`
This method does not authenticate the user but just retrieves his details

Parameters:
  `username` - username of the user to find
Returns:
  object representation of the user
Throws:
  `PersistenceException` - Error in data layer

### validateUser

public void validateUser(User user) throws AuthenticationException
Perform some security validations on the user but does not check the password.

Parameters:
  `user` - The user to validate
Throws:
  `AuthenticationException` - I something did not pass