A Zend_Auth adapter is used to authenticate against a particular
type of authentication service, such as LDAP,
RDBMS, or file-based storage. Different adapters are likely to have
vastly different options and behaviors, but some basic things are common among
authentication adapters. For example, accepting authentication credentials (including a
purported identity), performing queries against the authentication service, and
returning results are common to Zend_Auth adapters.
Each Zend_Auth adapter class implements
Zend_Auth_Adapter_Interface. This interface defines one method,
authenticate(), that an adapter class must implement for
performing an authentication query. Each adapter class must be prepared prior to
calling authenticate(). Such adapter preparation includes
setting up credentials (e.g., username and password) and defining values for
adapter-specific configuration options, such as database connection settings for a
database table adapter.
The following is an example authentication adapter that requires a username and password to be set for authentication. Other details, such as how the authentication service is queried, have been omitted for brevity:
<?php
class MyAuthAdapter implements Zend_Auth_Adapter_Interface
{
/**
* Sets username and password for authentication
*
* @return void
*/
public function __construct($username, $password)
{
// ...
}
/**
* Performs an authentication attempt
*
* @throws Zend_Auth_Adapter_Exception If authentication cannot
* be performed
* @return Zend_Auth_Result
*/
public function authenticate()
{
// ...
}
}
As indicated in its docblock, authenticate() must return an
instance of Zend_Auth_Result (or of a class derived from
Zend_Auth_Result). If for some reason performing an
authentication query is impossible, authenticate() should
throw an exception that derives from
Zend_Auth_Adapter_Exception.




