Вы действительно установили Zend-Authentication
и зарегистрировали его в своем services
из ServiceManager
?
Поскольку фабрика для IdentityHelper
установит AuthenticationService
.
См .: https://github.com/zendframework/zend-mvc-plugin-identity/blob/1.1.0/src/IdentityFactory.php#L27-L31
if ($container->has(AuthenticationService::class)) {
$plugin->setAuthenticationService($container->get(AuthenticationService::class));
} elseif ($container->has(AuthenticationServiceInterface::class)) {
$plugin->setAuthenticationService($container->get(AuthenticationServiceInterface::class));
}
Зарегистрируйте службу аутентификации в вашем модуле Applications.config.php:
'service_manager' => [
'factories' => [
\Zend\Authentication\AuthenticationService::class => \Application\Service\Factory\AuthenticationServiceFactory::class,
]
],
Создайте фабрику для службы AuthenticationService, где вы сообщаете службе, какой адаптер использовать, как проверить, действительна ли идентификация. См https://docs.zendframework.com/zend-authentication/intro/#usage