Commit 6d5a21cc authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Service Authorize : levée d'une exception lorsqu'une assertion n'est pas trouvée

parent 3923fc0e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -14,11 +14,13 @@ use BjyAuthorize\Provider\Identity\ProviderInterface as IdentityProvider;
use BjyAuthorize\Provider\Resource\ProviderInterface as ResourceProvider;
use BjyAuthorize\Provider\Role\ProviderInterface as RoleProvider;
use BjyAuthorize\Provider\Rule\ProviderInterface as RuleProvider;
use Interop\Container\Exception\NotFoundException;
use Zend\Cache\Storage\StorageInterface;
use Zend\Permissions\Acl\Acl;
use Zend\Permissions\Acl\Exception\InvalidArgumentException;
use Zend\Permissions\Acl\Resource\GenericResource;
use Zend\Permissions\Acl\Resource\ResourceInterface;
use Zend\ServiceManager\Exception\ServiceNotFoundException;
use Zend\ServiceManager\ServiceLocatorInterface;

/**
@@ -379,7 +381,11 @@ class Authorize

        if (4 === $ruleSize) {
            list($roles, $resources, $privileges, $assertion) = $rule;
            try {
                $assertion = $this->serviceLocator->get($assertion);
            } catch (ServiceNotFoundException $nfe) {
                throw new \RuntimeException("Impossible d'obtenir l'assertion '$assertion'", null, $nfe);
            }
        } elseif (3 === $ruleSize) {
            list($roles, $resources, $privileges) = $rule;
        } elseif (2 === $ruleSize) {