Если вы еще не хотите использовать Zend_Acl для этого, попробуйте следующее:
protected function getAuthAdapter()
{
if (null === $this->_auth)
{
$a = new Zend_Auth_Adapter_DbTable(
Zend_Registry::get('db')
);
$a->setTableName('users')
->setIdentityColumn('email')
->setCredentialColumn('password');
// Get the select object and
// modify to check against whatever you want
$s = $a->getDbSelect();
$s->where('userType = ?', 'admin'); // Or whatever, you can see what I'm doing
$this->_auth = $a;
}
return $this->_auth;
}
Вы можете видеть, что можете использовать getDbSelect (), чтобы получить реальный объект Zend_Db_Select, который использует Zend_Auth, и изменить его при необходимости.