public function setUp() { // authentication service $this->authentication = new AuthenticationService; // authorization service $this->authorization = new AclAuthorization(); $this->authorization->addRole('guest'); $this->authorization->allow(); // event for mvc and mvc-auth $routeMatch = new RouteMatch(array()); $request = new HttpRequest(); $response = new HttpResponse(); $application = new Application(null, new ServiceManager(new Config(array('services' => array( 'event_manager' => new EventManager(), 'authentication' => $this->authentication, 'authorization' => $this->authorization, 'request' => $request, 'response' => $response ))))); $mvcEvent = new MvcEvent(); $mvcEvent->setRequest($request) ->setResponse($response) ->setRouteMatch($routeMatch) ->setApplication($application); $this->mvcAuthEvent = new MvcAuthEvent($mvcEvent, $this->authentication, $this->authorization); $this->listener = new DefaultAuthorizationListener($this->authorization); }
/** * Sets up permissions for the module * * @param \Acl $acl */ public static function addSongbookPrivileges($acl) { $acl->addRole('songbook - vstup'); $acl->addRole('songbook - vytváření/editace', 'songbook - vstup'); $acl->addRole('songbook - mazání', 'songbook - vytváření/editace'); $acl->addResource("Oddil:Songbook"); $acl->allow("base - člen", "Oddil:Songbook", "display"); $acl->allow("songbook - vstup", "Oddil:Songbook", "default"); $acl->allow("songbook - vytváření/editace", "Oddil:Songbook", ["add", "edit"]); $acl->allow("songbook - mazání", "Oddil:Songbook", "delete"); }
/** * Create the form-service * * @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator * @return \Zend\Permissions\Acl\Acl */ public function createService(ServiceLocatorInterface $serviceLocator) { // Configure the locale $config = $serviceLocator->get('Configuration'); $srvConfig = isset($config['acl']) ? $config['acl'] : array(); $acl = new Acl(); if (!empty($srvConfig['roles'])) { foreach ((array) $srvConfig['roles'] as $role => $parents) { $acl->addRole((string) $role, $parents); } } if (!empty($srvConfig['resources'])) { foreach ((array) $srvConfig['resources'] as $resource => $parent) { $acl->addResource($resource, $parent); } } if (!empty($srvConfig['allow'])) { foreach ((array) $srvConfig['allow'] as $allow) { $acl->allow($allow['role'], $allow['resource'], $allow['privilege']); } } if (!empty($srvConfig['deny'])) { foreach ((array) $srvConfig['deny'] as $deny) { $acl->deny($deny['role'], $deny['resource'], $deny['privilege']); } } return $acl; }
public function setUp() { // authentication service $this->authentication = new AuthenticationService(); // authorization service $this->authorization = new AclAuthorization(); $this->authorization->addRole('guest'); $this->authorization->allow(); // event for mvc and mvc-auth $routeMatch = $this->createRouteMatch([]); $request = new HttpRequest(); $response = new HttpResponse(); $container = new ServiceManager(); (new Config(['services' => ['EventManager' => new EventManager(), 'Authentication' => $this->authentication, 'Authorization' => $this->authorization, 'Request' => $request, 'Response' => $response]]))->configureServiceManager($container); $application = $this->applicationFactory($container); $mvcEvent = new MvcEvent(); $mvcEvent->setRequest($request)->setResponse($response)->setRouteMatch($routeMatch)->setApplication($application); $this->mvcAuthEvent = new MvcAuthEvent($mvcEvent, $this->authentication, $this->authorization); $this->listener = new DefaultAuthorizationListener($this->authorization); }
/** * @param \Acl $acl */ private function addVIPChroniclePermissions($acl) { $acl->addRole('vip - vstup'); $acl->addRole('vip - vytváření/editace', 'vip - vstup'); $acl->addRole('vip - popisky', 'vip - vytváření/editace'); $acl->addRole('vip - generování', 'vip - popisky'); $acl->addRole('vip - zobrazování', 'vip - generování'); $acl->addRole('vip - mazání', 'vip - zobrazování'); $acl->addResource(self::MODULE_NAME . ':Admin:Vipchronicle'); $acl->allow('vip - vstup', self::MODULE_NAME . ':Admin:Vipchronicle', 'default'); $acl->allow('vip - vytváření/editace', self::MODULE_NAME . ':Admin:Vipchronicle', 'create'); $acl->allow('vip - vytváření/editace', self::MODULE_NAME . ':Admin:Vipchronicle', 'edit'); $acl->allow('vip - popisky', self::MODULE_NAME . ':Admin:Vipchronicle', 'photos'); $acl->allow('vip - generování', self::MODULE_NAME . ':Admin:Vipchronicle', 'generate'); $acl->allow('vip - zobrazování', self::MODULE_NAME . ':Admin:Vipchronicle', 'show'); $acl->allow('vip - mazání', self::MODULE_NAME . ':Admin:Vipchronicle', 'delete'); }