Exception thrown if there is a problem during authorization (access control check).
Root class of all Shiro exceptions related to caching operations.
Root exception related to issues during encoding or decoding.
Base Shiro exception for problems encountered during cryptographic operations.
Generic exception representing a problem when attempting to access data. <p/> The idea was borrowed from the Spring Framework, which has a nice model for a generic DAO exception hierarchy. Unfortunately we can't use it as we can't force a Spring API usage on all Shiro end-users.
Exception thrown if attempting to create a new {@code Subject} {@link hunt.shiro.subject.Subject#getSession() session}, but that {@code Subject}'s sessions are disabled. <p/> Note that this exception represents an invalid API usage scenario - where Shiro has been configured to disable sessions for a particular subject, but a developer is attempting to use that Subject's session. <p/> In other words, if this exception is encountered, it should be resolved by a configuration change for Shiro and <em>not</em> by checking every Subject to see if they are enabled or not (which would likely introduce very ugly/paranoid code checks everywhere a session is needed). This is why there is no {@code subject.isSessionEnabled()} method.
Exception thrown for errors related to {@link Environment} instances or configuration.
Thrown during the authentication process when the system determines the submitted credential(s) has expired and will not allow login.
A special case of a StoppedSessionException. An expired session is a session that has stopped explicitly due to inactivity (i.e. time-out), as opposed to stopping due to log-out or other reason.
Thrown when a particular client (that is, host address) has not been enabled to access the system or if the client has been enabled access but is not permitted to perform a particular operation or access a particular resource.
Thrown when attempting to authenticate with credential(s) that do not match the actual credentials associated with the account principal.
Thrown by {@link PermissionResolver#resolvePermission(string)} when the string being parsed is not valid for that resolver.
Root exception indicating invalid or incorrect usage of a data access resource. This is thrown typically when incorrectly using the resource or its API.
Exception thrown when attempting to interact with the system under an established session when that session is considered invalid. The meaning of the term 'invalid' is based on application behavior. For example, a Session is considered invalid if it has been explicitly stopped (e.g. when a user logs-out or when explicitly {@link Session#stop() stopped} programmatically. A Session can also be considered invalid if it has expired.
A special kind of <tt>DisabledAccountException</tt>, this exception is thrown when attempting to authenticate and the corresponding account has been disabled explicitly due to being locked.
Exception thrown when attempting to acquire an object of a required type and that object does not equal, extend, or implement a specified {@code Class}.
General security exception attributed to problems during interaction with the system during a session.
Exception thrown when attempting to interact with the system under a session that has been stopped. A session may be stopped in any number of ways, most commonly due to explicit stopping (e.g. from logging out), or due to expiration.
Exception thrown when attempting to execute an authorization action when a successful authentication hasn't yet occurred.
Thrown to indicate a requested operation or access to a requested resource is not allowed.
Thrown when attempting to authenticate with a principal that doesn't exist in the system (e.g. by specifying a username that doesn't relate to a user account).
Exception thrown when attempting to lookup or use a cryptographic algorithm that does not exist in the current JVM environment.
Exception thrown when attempting to interact with the system under the pretense of a particular session (e.g. under a specific session id), and that session does not exist in the system.
Exception thrown when a reference to an object is made, but that object cannot be found. This is most likely thrown due to a configuration line that references an object that hasn't been defined yet.
Exception thrown during the authentication process when an {@link hunt.shiro.authc.AuthenticationToken AuthenticationToken} implementation is encountered that is not supported by one or more configured {@link hunt.shiro.realm.Realm Realm}s.