Class AtLeastOneSuccessfulStrategy
java.lang.Object
org.apache.shiro.authc.pam.AbstractAuthenticationStrategy
org.apache.shiro.authc.pam.AtLeastOneSuccessfulStrategy
- All Implemented Interfaces:
AuthenticationStrategy
AuthenticationStrategy implementation that requires at least one configured realm to
successfully process the submitted AuthenticationToken during the log-in attempt.
This means any number of configured realms do not have to support the submitted log-in token, or they may be unable to acquire AuthenticationInfo for the token, but as long as at least one can do both, this Strategy implementation will allow the log-in process to be successful.
Note that this implementation will aggregate the account data from all successfully consulted
realms during the authentication attempt. If you want only the account data from the first successfully
consulted realm and want to ignore all subsequent realms, use the
FirstSuccessfulAuthenticationStrategy instead.
- Since:
- 0.2
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionafterAllAttempts(AuthenticationToken token, AuthenticationInfo aggregate) Ensures that theaggregatemethod argument is notnullandaggregate.is notgetPrincipals()null, and if either isnull, throws an AuthenticationException to indicate that none of the realms authenticated successfully.Methods inherited from class org.apache.shiro.authc.pam.AbstractAuthenticationStrategy
afterAttempt, beforeAllAttempts, beforeAttempt, merge
-
Constructor Details
-
AtLeastOneSuccessfulStrategy
public AtLeastOneSuccessfulStrategy()
-
-
Method Details
-
afterAllAttempts
public AuthenticationInfo afterAllAttempts(AuthenticationToken token, AuthenticationInfo aggregate) throws AuthenticationException Ensures that theaggregatemethod argument is notnullandaggregate.is notgetPrincipals()null, and if either isnull, throws an AuthenticationException to indicate that none of the realms authenticated successfully.- Specified by:
afterAllAttemptsin interfaceAuthenticationStrategy- Overrides:
afterAllAttemptsin classAbstractAuthenticationStrategy- Parameters:
token- theAuthenticationTokensubmitted for the subject attempting system log-in.aggregate- the aggregateAuthenticationInfoinstance populated by all realms during the log-in attempt.- Returns:
- the final
AuthenticationInfoobject to return to the Authenticator.authenticate() caller. - Throws:
AuthenticationException- if the Strategy implementation wishes to fail the authentication attempt.
-