<?php use Zend\Authentication\AuthenticationService; use Zend\EventManager\EventManager; $callback = function ($identity, $credential) { if ($identity === $credential) { return new \Zend\Stdlib\ArrayObject(['identity' => $identity, 'credential' => $credential]); } throw new \Exception('Authentication failed'); }; $adapter = new \Zend\Authentication\Adapter\Callback($callback); $callback2 = function ($identity, $credential) { if ($identity === 'test' && $credential === 'tester') { return new \Zend\Stdlib\ArrayObject(['identity' => $identity, 'credential' => $credential]); } throw new \Exception('Authentication failed'); }; $adapter2 = new \Zend\Authentication\Adapter\Callback($callback2); $authService = new AuthenticationService(null, $adapter, 10); $authService->addAdapter($adapter2, 20); //auths against adapter 1 $authService->authenticate(['identity' => 'test', 'credential' => 'test']); //auths against adapter 2 $authService->authenticate(['identity' => 'test', 'credential' => 'tester']);