# Uses of Class
com.logicaldoc.core.security.authentication.AuthenticationException

Packages that use AuthenticationException
Package
Description
com.logicaldoc.core.security
Container of the security-related interfaces and classes
com.logicaldoc.core.security.authentication
The pluggable authentication mechanism.

## Uses of AuthenticationException in com.logicaldoc.core.security

Methods in com.logicaldoc.core.security with parameters of type AuthenticationException
Modifier and Type
Method
Description
`static void`
LoginThrottle.`recordFailure(String username, String apiKey, Client client, AuthenticationException exception)`
Saves the login failure in the database
Methods in com.logicaldoc.core.security that throw AuthenticationException
Modifier and Type
Method
Description
`static void`
LoginThrottle.`checkLoginThrottle(String username, String apikey, String ip)`
Performs anti brute force attack checks
`Session`
SessionManager.`newSession(String apikey, Client client)`
Creates a new session by authenticating through an API Key and stores it in the pool of opened sessions
`Session`
SessionManager.`newSession(String apikey, jakarta.servlet.http.HttpServletRequest request)`
Creates a new session by authenticating through an API Key and stores it in the pool of opened sessions
`Session`
SessionManager.`newSession(String username, String password, Client client)`
Creates a new session by authenticating the given user and stores it in the pool of opened sessions
`Session`
SessionManager.`newSession(String username, String password, jakarta.servlet.http.HttpServletRequest request)`
Creates a new session by authenticating the given user and stores it in the pool of opened sessions
`Session`
SessionManager.`newSession(String username, String password, String key, Client client)`
Creates a new session by authenticating the given user and stores it in the pool of opened sessions
`Session`
SessionManager.`newSession(String username, String password, String key, jakarta.servlet.http.HttpServletRequest request)`
Creates a new session by authenticating the given user and stores it in the pool of opened sessions

## Uses of AuthenticationException in com.logicaldoc.core.security.authentication

Subclasses of AuthenticationException in com.logicaldoc.core.security.authentication
Modifier and Type
Class
Description
`class`
`AccountDisabledException`
Raised when the account exists but it is disabled
`class`
`AccountExpiredException`
Raised when the account is expired
`class`
`AccountInactiveException`
Raised when the account is interpreted as inactive because it was not interacting since a lot of days
`class`
`AccountNotFoundException`
Raised when the specified user was not found
`class`
`AccountTypeNotAllowedException`
Raised when trying to enter with an account of a unknown type
`class`
`ApiKeyBlockedException`
Raised when the remote client is in the black list
`class`
`ForbiddenImpersonationException`
Raised when someone tries to impersonate another user without permission
`class`
`InvalidSessionException`
Raised when a session is not valid
`class`
`IPBlockedException`
Raised when the remote client is in the black list
`class`
`OutsideWorkingTimeException`
Raised when the user is trying to enter outside the working time
`class`
`PasswordAlreadyUsedException`
Raised when you try to change password that was already used
`class`
`PasswordExpiredException`
Raised when the password has expired
`class`
`PasswordWeakException`
Raised when you try to change or use a password that is too weak
`class`
`UnconfirmedLegalsException`
Raised when the user did not confirm one or more legals
`class`
`UsernameBlockedException`
Raised when the remote client is in the black list
`class`
`WrongPasswordException`
Raised when given password is not correct
Methods in com.logicaldoc.core.security.authentication that throw AuthenticationException
Modifier and Type
Method
Description
`User`
AbstractAuthenticator.`authenticate(String username, String password, String key)`
`User`
AbstractAuthenticator.`authenticate(String username, String password, String key, Client client)`
`User`
ApiKeyAuthenticator.`authenticate(String username, String password)`
`User`
ApiKeyAuthenticator.`authenticate(String username, String password, String apikey, Client client)`
`final User`
AuthenticationChain.`authenticate(String username, String password)`
`final User`
AuthenticationChain.`authenticate(String username, String password, String key, Client client)`
`User`
Authenticator.`authenticate(String username, String password)`
Authenticates the user using the given credentials, if successful, the corresponding user is returned.
`User`
Authenticator.`authenticate(String username, String password, String key)`
Authenticates the user using the given credentials, if successful, the corresponding user is returned.
`User`
Authenticator.`authenticate(String username, String password, String key, Client client)`
Authenticates the user using the given credentials, if successful, the corresponding user is returned.
`User`
DefaultAuthenticator.`authenticate(String username, String password)`
`User`
DefaultAuthenticator.`authenticate(String username, String password, String key, Client client)`
`void`
DefaultAuthenticator.`validateUser(User user)`
Perform some security validations on the user but does not check the password.