/** * {@inheritDoc} * @return AuthorizationService */ public function createService(ServiceLocatorInterface $serviceLocator) { /* @var \Rbac\Rbac $rbac */ $rbac = $serviceLocator->get('Rbac\\Rbac'); /* @var \ZfcRbac\Service\RoleService $roleService */ $roleService = $serviceLocator->get('ZfcRbac\\Service\\RoleService'); /* @var \ZfcRbac\Assertion\AssertionPluginManager $assertionPluginManager */ $assertionPluginManager = $serviceLocator->get('ZfcRbac\\Assertion\\AssertionPluginManager'); /* @var \ZfcRbac\Options\ModuleOptions $moduleOptions */ $moduleOptions = $serviceLocator->get('ZfcRbac\\Options\\ModuleOptions'); $authorizationService = new AuthorizationService($rbac, $roleService, $assertionPluginManager); $authorizationService->setAssertions($moduleOptions->getAssertionMap()); return $authorizationService; }
/** * @param ContainerInterface $container * @param string $requestedName * @param array|null $options * @return AuthorizationService */ public function __invoke(ContainerInterface $container, $requestedName, array $options = null) { /* @var \Rbac\Rbac $rbac */ $rbac = $container->get('Rbac\\Rbac'); /* @var \ZfcRbac\Service\RoleService $roleService */ $roleService = $container->get('ZfcRbac\\Service\\RoleService'); /* @var \ZfcRbac\Assertion\AssertionPluginManager $assertionPluginManager */ $assertionPluginManager = $container->get('ZfcRbac\\Assertion\\AssertionPluginManager'); /* @var \ZfcRbac\Options\ModuleOptions $moduleOptions */ $moduleOptions = $container->get('ZfcRbac\\Options\\ModuleOptions'); $authorizationService = new AuthorizationService($rbac, $roleService, $assertionPluginManager); $authorizationService->setAssertions($moduleOptions->getAssertionMap()); return $authorizationService; }
public function testAssertionMap() { $rbac = $this->getMock('Rbac\\Rbac', [], [], '', false); $roleService = $this->getMock('ZfcRbac\\Service\\RoleService', [], [], '', false); $assertionPluginManager = $this->getMock('ZfcRbac\\Assertion\\AssertionPluginManager', [], [], '', false); $authorizationService = new AuthorizationService($rbac, $roleService, $assertionPluginManager); $authorizationService->setAssertions(['foo' => 'bar', 'bar' => 'foo']); $this->assertTrue($authorizationService->hasAssertion('foo')); $this->assertTrue($authorizationService->hasAssertion('bar')); $authorizationService->setAssertion('bar', null); $this->assertFalse($authorizationService->hasAssertion('bar')); }