2017-02-05 3 views
0

Я пытался включить HTTP Basic Authentification, используя магазины информации в моей базе данных PSQL вместо файла htpasswd, но я не могу найти способ сделать это в Apigility ,HTTP Basic Authentification через DB с Apigility

Насколько я понял, мне нужно создать адаптер, который реализует ResolverInterface и возвращает метод «разрешен» (после проверки).

Но я не знаю, как с ним обращаться, чтобы быть адаптером, используемым базовой аутентификацией HTTP.

Как я могу это достичь?

ответ

1

Одним из способов достижения этой цели является перезаписать завод для ZF \ MvcAuth \ Authentication \ AuthHttpAdapter в конфигурации:

'service_manager' => array(
    'factories' => array(
     'ZF\MvcAuth\Authentication\AuthHttpAdapter' => 'MyNamespace\MyHttpAdapterFactory', 
    ) 
); 

И в вашем заводе вы можете установить распознаватель в качестве основного распознаватель:

public function createService(ServiceLocatorInterface $services) 
{ 
    $httpAdapter = parent::createService($services); // Assuming you are extending from DefaultHttpAdapterFactory 
    $myResolver = $serviceManager->get('MyResolver'); 
    $httpAdapter->setBasicResolver($myResolver); 

    return $httpAdapter; 
} 
Смежные вопросы