Core interfaces and exceptions concerning Authentication (the act of logging-in). Shiro abbreviates the word 'AuthentiCation' as authc to distinguish it separately from 'AuthoriZation', abbreviated as authz. The primary item of interest in this package is the Authenticator interface, which acts as the entry point (facade) to all other other authentication components. Other components, interfaces and exceptions are here to support Authenticator implementations.
Interface Summary Interface Description Account AuthenticationInfo
AuthenticationInforepresents a Subject's (aka user's) stored account information relevant to the authentication/log-in process only.
AuthenticationListenerlistens for notifications while
Subjects authenticate with the system.
AuthenticationTokenAn AuthenticationToken is a consolidation of an account's principals and supporting credentials submitted by a user during an authentication attempt. AuthenticatorAn Authenticator is responsible for authenticating accounts in an application. HostAuthenticationTokenA
HostAuthenticationTokenretains the host information from where an authentication attempt originates.
LogoutAwareAn SPI interface allowing cleanup logic to be executed during logout of a previously authenticated Subject/user. MergableAuthenticationInfo RememberMeAuthenticationTokenAn
AuthenticationTokenthat indicates if the user wishes their identity to be remembered across sessions.
SaltedAuthenticationInfoInterface representing account information that may use a salt when hashing credentials.
Class Summary Class Description AbstractAuthenticatorSuperclass for almost all
Authenticatorimplementations that performs the common work around authentication attempts.
AuthenticationTokenthat contains an a Bearer token or API key, typically received via an HTTP
SimpleAccountSimple implementation of the
Accountinterface that contains principal and credential and authorization information (roles and permissions) as instance variables and exposes them via getters and setters using standard JavaBean notation.
SimpleAuthenticationInfoSimple implementation of the
MergableAuthenticationInfointerface that holds the principals and credentials.
UsernamePasswordTokenA simple username/password authentication token to support the most widely-used authentication mechanism.
Exception Summary Exception Description AccountExceptionException thrown due to a problem with the account under which an authentication attempt is being executed. AuthenticationExceptionGeneral exception thrown due to an error during the Authentication process. ConcurrentAccessExceptionThrown when an authentication attempt has been received for an account that has already been authenticated (i.e. CredentialsExceptionException thrown due to a problem with the credential(s) submitted for an account during the authentication process. DisabledAccountExceptionThrown when attempting to authenticate and the corresponding account has been disabled for some reason. ExcessiveAttemptsExceptionThrown when a system is configured to only allow a certain number of authentication attempts over a period of time and the current session has failed to authenticate successfully within that number. ExpiredCredentialsExceptionThrown during the authentication process when the system determines the submitted credential(s) has expired and will not allow login. IncorrectCredentialsExceptionThrown when attempting to authenticate with credential(s) that do not match the actual credentials associated with the account principal. LockedAccountExceptionA special kind of DisabledAccountException, this exception is thrown when attempting to authenticate and the corresponding account has been disabled explicitly due to being locked. UnknownAccountExceptionThrown when attempting to authenticate with a principal that doesn't exist in the system (e.g.