org.apache.shiro.authc
Interface Authenticator

All Known Subinterfaces:
SecurityManager
All Known Implementing Classes:
AbstractAuthenticator, AuthenticatingSecurityManager, AuthorizingSecurityManager, CachingSecurityManager, DefaultSecurityManager, ModularRealmAuthenticator, RealmSecurityManager, SessionsSecurityManager

public interface Authenticator

An Authenticator is responsible for authenticating accounts in an application. It is one of the primary entry points into the Shiro API.

Although not a requirement, there is usually a single 'master' Authenticator configured for an application. Enabling Pluggable Authentication Module (PAM) behavior (Two Phase Commit, etc.) is usually achieved by the single Authenticator coordinating and interacting with an application-configured set of Realms.

Note that most Shiro users will not interact with an Authenticator instance directly. Shiro's default architecture is based on an overall SecurityManager which typically wraps an Authenticator instance.

Since:
0.1
See Also:
SecurityManager, AbstractAuthenticator, ModularRealmAuthenticator

Method Summary
 AuthenticationInfo authenticate(AuthenticationToken authenticationToken)
          Authenticates a user based on the submitted AuthenticationToken.
 

Method Detail

authenticate

AuthenticationInfo authenticate(AuthenticationToken authenticationToken)
                                throws AuthenticationException
Authenticates a user based on the submitted AuthenticationToken.

If the authentication is successful, an AuthenticationInfo instance is returned that represents the user's account data relevant to Shiro. This returned object is generally used in turn to construct a Subject representing a more complete security-specific 'view' of an account that also allows access to a Session.

Parameters:
authenticationToken - any representation of a user's principals and credentials submitted during an authentication attempt.
Returns:
the AuthenticationInfo representing the authenticating user's account data.
Throws:
AuthenticationException - if there is any problem during the authentication process. See the specific exceptions listed below to as examples of what could happen in order to accurately handle these problems and to notify the user in an appropriate manner why the authentication attempt failed. Realize an implementation of this interface may or may not throw those listed or may throw other AuthenticationExceptions, but the list shows the most common ones.
See Also:
ExpiredCredentialsException, IncorrectCredentialsException, ExcessiveAttemptsException, LockedAccountException, ConcurrentAccessException, UnknownAccountException


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.