Loading config/module.config.php +2 −2 Original line number Diff line number Diff line Loading @@ -94,7 +94,7 @@ $bjyauthorize = array( * NB: si le rôle par défaut 'guest' est fourni ici, il ne sera pas ajouté en double dans les ACL. * NB: si la connexion à la base échoue, ce n'est pas bloquant! */ 'UnicaenAuth\Provider\Role\Db' => array( 'UnicaenAuth\Provider\Role\DbRole' => array( 'object_manager' => 'doctrine.entitymanager.orm_default', 'role_entity_class' => 'UnicaenAuth\Entity\Db\Role', ), Loading Loading @@ -174,7 +174,7 @@ return array( 'UnicaenAuth\Provider\Identity\Ldap' => 'UnicaenAuth\Provider\Identity\LdapServiceFactory', 'UnicaenAuth\Provider\Identity\Db' => 'UnicaenAuth\Provider\Identity\DbServiceFactory', 'UnicaenAuth\Provider\Role\Config' => 'UnicaenAuth\Provider\Role\ConfigServiceFactory', 'UnicaenAuth\Provider\Role\Db' => 'UnicaenAuth\Provider\Role\DbServiceFactory', 'UnicaenAuth\Provider\Role\DbRole' => 'UnicaenAuth\Provider\Role\DbRoleServiceFactory', ), ), 'controllers' => array( Loading src/UnicaenAuth/Provider/Role/Db.phpdeleted 100644 → 0 +0 −71 Original line number Diff line number Diff line <?php namespace UnicaenAuth\Provider\Role; use Doctrine\DBAL\DBALException; use PDOException; use Zend\Permissions\Acl\Role\RoleInterface; use UnicaenAuth\Acl\NamedRole; use BjyAuthorize\Provider\Role\ObjectRepositoryProvider; use BjyAuthorize\Acl\HierarchicalRoleInterface; /** * Role provider based on a {@see \Doctrine\Common\Persistence\ObjectRepository} */ class Db extends ObjectRepositoryProvider { /** * {@inheritDoc} */ public function getRoles() { // try { // $result = $this->objectRepository->findAll(); // } // catch (PDOException $exc) { // return array(); // } // // $roles = array(); // // // Pass One: Build each object // foreach ($result as $role) { /* @var $role \UnicaenAuth\Entity\Db\Role */ // if (!$role instanceof RoleInterface) { // continue; // } // // $roleId = $role->getRoleId(); // $parent = null; // // if ($role instanceof HierarchicalRoleInterface && $parent = $role->getParent()) { // $parent = $parent->getRoleId(); // } // // $roles[$roleId] = new NamedRole($roleId, $parent, $role->getName()); // } // // // Pass Two: Re-inject parent objects to preserve hierarchy // /* @var $roleObj NamedRole */ // foreach ($roles as $roleObj) { // $parentRoleObj = $roleObj->getParent(); // // if ($parentRoleObj && $parentRoleObj->getRoleId()) { // $roleObj->setParent($roles[$parentRoleObj->getRoleId()]); // } // } // // return array_values($roles); try { $roles = parent::getRoles(); } catch (DBALException $exc) { $roles = array(); } catch (PDOException $exc) { $roles = array(); } return $roles; } } No newline at end of file src/UnicaenAuth/Provider/Role/DbRole.php 0 → 100644 +31 −0 Original line number Diff line number Diff line <?php namespace UnicaenAuth\Provider\Role; use Doctrine\DBAL\DBALException; use PDOException; use BjyAuthorize\Provider\Role\ObjectRepositoryProvider; /** * Role provider based on a {@see \Doctrine\Common\Persistence\ObjectRepository} */ class DbRole extends ObjectRepositoryProvider { /** * {@inheritDoc} */ public function getRoles() { try { $roles = parent::getRoles(); } catch (DBALException $exc) { $roles = array(); } catch (PDOException $exc) { $roles = array(); } return $roles; } } No newline at end of file src/UnicaenAuth/Provider/Role/DbServiceFactory.php→src/UnicaenAuth/Provider/Role/DbRoleServiceFactory.php +7 −7 Original line number Diff line number Diff line Loading @@ -7,26 +7,26 @@ use Zend\ServiceManager\FactoryInterface; use Zend\ServiceManager\ServiceLocatorInterface; /** * Factory responsible of instantiating {@see \UnicaenAuth\Provider\Role\Db} * Factory responsible of instantiating {@see \UnicaenAuth\Provider\Role\DbRole} */ class DbServiceFactory implements FactoryInterface class DbRoleServiceFactory implements FactoryInterface { /** * {@inheritDoc} * * @return Db * @return DbRole */ public function createService(ServiceLocatorInterface $serviceLocator) { $config = $serviceLocator->get('BjyAuthorize\Config'); if (! isset($config['role_providers']['UnicaenAuth\Provider\Role\Db'])) { if (! isset($config['role_providers']['UnicaenAuth\Provider\Role\DbRole'])) { throw new InvalidArgumentException( 'Config for "UnicaenAuth\Provider\Role\Db" not set' 'Config for "UnicaenAuth\Provider\Role\DbRole" not set' ); } $providerConfig = $config['role_providers']['UnicaenAuth\Provider\Role\Db']; $providerConfig = $config['role_providers']['UnicaenAuth\Provider\Role\DbRole']; if (! isset($providerConfig['role_entity_class'])) { throw new InvalidArgumentException('role_entity_class not set in the bjyauthorize role_providers config.'); Loading @@ -39,6 +39,6 @@ class DbServiceFactory implements FactoryInterface /* @var $objectManager \Doctrine\Common\Persistence\ObjectManager */ $objectManager = $serviceLocator->get($providerConfig['object_manager']); return new Db($objectManager->getRepository($providerConfig['role_entity_class'])); return new DbRole($objectManager->getRepository($providerConfig['role_entity_class'])); } } Loading
config/module.config.php +2 −2 Original line number Diff line number Diff line Loading @@ -94,7 +94,7 @@ $bjyauthorize = array( * NB: si le rôle par défaut 'guest' est fourni ici, il ne sera pas ajouté en double dans les ACL. * NB: si la connexion à la base échoue, ce n'est pas bloquant! */ 'UnicaenAuth\Provider\Role\Db' => array( 'UnicaenAuth\Provider\Role\DbRole' => array( 'object_manager' => 'doctrine.entitymanager.orm_default', 'role_entity_class' => 'UnicaenAuth\Entity\Db\Role', ), Loading Loading @@ -174,7 +174,7 @@ return array( 'UnicaenAuth\Provider\Identity\Ldap' => 'UnicaenAuth\Provider\Identity\LdapServiceFactory', 'UnicaenAuth\Provider\Identity\Db' => 'UnicaenAuth\Provider\Identity\DbServiceFactory', 'UnicaenAuth\Provider\Role\Config' => 'UnicaenAuth\Provider\Role\ConfigServiceFactory', 'UnicaenAuth\Provider\Role\Db' => 'UnicaenAuth\Provider\Role\DbServiceFactory', 'UnicaenAuth\Provider\Role\DbRole' => 'UnicaenAuth\Provider\Role\DbRoleServiceFactory', ), ), 'controllers' => array( Loading
src/UnicaenAuth/Provider/Role/Db.phpdeleted 100644 → 0 +0 −71 Original line number Diff line number Diff line <?php namespace UnicaenAuth\Provider\Role; use Doctrine\DBAL\DBALException; use PDOException; use Zend\Permissions\Acl\Role\RoleInterface; use UnicaenAuth\Acl\NamedRole; use BjyAuthorize\Provider\Role\ObjectRepositoryProvider; use BjyAuthorize\Acl\HierarchicalRoleInterface; /** * Role provider based on a {@see \Doctrine\Common\Persistence\ObjectRepository} */ class Db extends ObjectRepositoryProvider { /** * {@inheritDoc} */ public function getRoles() { // try { // $result = $this->objectRepository->findAll(); // } // catch (PDOException $exc) { // return array(); // } // // $roles = array(); // // // Pass One: Build each object // foreach ($result as $role) { /* @var $role \UnicaenAuth\Entity\Db\Role */ // if (!$role instanceof RoleInterface) { // continue; // } // // $roleId = $role->getRoleId(); // $parent = null; // // if ($role instanceof HierarchicalRoleInterface && $parent = $role->getParent()) { // $parent = $parent->getRoleId(); // } // // $roles[$roleId] = new NamedRole($roleId, $parent, $role->getName()); // } // // // Pass Two: Re-inject parent objects to preserve hierarchy // /* @var $roleObj NamedRole */ // foreach ($roles as $roleObj) { // $parentRoleObj = $roleObj->getParent(); // // if ($parentRoleObj && $parentRoleObj->getRoleId()) { // $roleObj->setParent($roles[$parentRoleObj->getRoleId()]); // } // } // // return array_values($roles); try { $roles = parent::getRoles(); } catch (DBALException $exc) { $roles = array(); } catch (PDOException $exc) { $roles = array(); } return $roles; } } No newline at end of file
src/UnicaenAuth/Provider/Role/DbRole.php 0 → 100644 +31 −0 Original line number Diff line number Diff line <?php namespace UnicaenAuth\Provider\Role; use Doctrine\DBAL\DBALException; use PDOException; use BjyAuthorize\Provider\Role\ObjectRepositoryProvider; /** * Role provider based on a {@see \Doctrine\Common\Persistence\ObjectRepository} */ class DbRole extends ObjectRepositoryProvider { /** * {@inheritDoc} */ public function getRoles() { try { $roles = parent::getRoles(); } catch (DBALException $exc) { $roles = array(); } catch (PDOException $exc) { $roles = array(); } return $roles; } } No newline at end of file
src/UnicaenAuth/Provider/Role/DbServiceFactory.php→src/UnicaenAuth/Provider/Role/DbRoleServiceFactory.php +7 −7 Original line number Diff line number Diff line Loading @@ -7,26 +7,26 @@ use Zend\ServiceManager\FactoryInterface; use Zend\ServiceManager\ServiceLocatorInterface; /** * Factory responsible of instantiating {@see \UnicaenAuth\Provider\Role\Db} * Factory responsible of instantiating {@see \UnicaenAuth\Provider\Role\DbRole} */ class DbServiceFactory implements FactoryInterface class DbRoleServiceFactory implements FactoryInterface { /** * {@inheritDoc} * * @return Db * @return DbRole */ public function createService(ServiceLocatorInterface $serviceLocator) { $config = $serviceLocator->get('BjyAuthorize\Config'); if (! isset($config['role_providers']['UnicaenAuth\Provider\Role\Db'])) { if (! isset($config['role_providers']['UnicaenAuth\Provider\Role\DbRole'])) { throw new InvalidArgumentException( 'Config for "UnicaenAuth\Provider\Role\Db" not set' 'Config for "UnicaenAuth\Provider\Role\DbRole" not set' ); } $providerConfig = $config['role_providers']['UnicaenAuth\Provider\Role\Db']; $providerConfig = $config['role_providers']['UnicaenAuth\Provider\Role\DbRole']; if (! isset($providerConfig['role_entity_class'])) { throw new InvalidArgumentException('role_entity_class not set in the bjyauthorize role_providers config.'); Loading @@ -39,6 +39,6 @@ class DbServiceFactory implements FactoryInterface /* @var $objectManager \Doctrine\Common\Persistence\ObjectManager */ $objectManager = $serviceLocator->get($providerConfig['object_manager']); return new Db($objectManager->getRepository($providerConfig['role_entity_class'])); return new DbRole($objectManager->getRepository($providerConfig['role_entity_class'])); } }