use Zend\Authentication\Adapter\DbTable\CredentialTreatmentAdapter as AuthAdapter;
use Zend\Authentication\AuthenticationService;
use Zend\Authentication\Storage\Session as SessionStorage;
$authAdapter = new AuthAdapter(
$this->adapter,
'admins',
'email',
'password',
'md5(?)'
);
$authAdapter
->setIdentity($userName)
->setCredential($password);
$authResult = $authAdapter->authenticate();
if($authResult->isValid()){
$result['success']=1;
$identity=$authResult->getIdentity();
//Save in session
$adminDetails=$authAdapter->getResultRowObject(array('id','email'));
$authService = new AuthenticationService();
$authService->setStorage(new SessionStorage('AdminLogin'));
$authService->getStorage()->write((array)$adminDetails);
}else{
$messages = $authResult->getMessages();
$result['msg'] =implode(' ',$messages);
}
HelpFul Links
https://github.com/zendframework/zend-authentication
https://github.com/zendframework/zend-authentication/blob/master/src/AuthenticationService.php

