コード例 #1
0
ファイル: Module.php プロジェクト: ifigenija/server
 /**
  * 
  * @param type $authService
  * @param type $em
  * @param \App\MvcEvent $e
  * @return type
  */
 public function tryHttpAuth($authService, $em, MvcEvent $e)
 {
     $resolver = new DoctrineResolver($em, '\\Aaa\\Entity\\User');
     $adapter = new Http(['realm' => 'Max', 'accept_schemes' => 'basic']);
     $adapter->setBasicResolver($resolver);
     $adapter->setRequest($e->getRequest());
     // zato da se ne pošiljajo http auth challenge nastavimo novi response, ki
     // ne vpliva na pravi response
     $adapter->setResponse(new Response());
     // shranim si doctrine adapter
     $originalAdapter = $authService->getAdapter();
     $authService->setAdapter($adapter);
     /* @var $authService AuthenticationService */
     $authResult = $authService->authenticate();
     if ($authResult->isValid()) {
         $identity = $authResult->getIdentity();
         $authService->getStorage()->write($identity);
     } else {
         $authService->setAdapter($originalAdapter);
         $identity = null;
     }
     return $identity;
 }