diff --git a/app/listeners/AccessListener.php b/app/listeners/AccessListener.php index dc2366e..e51301c 100644 --- a/app/listeners/AccessListener.php +++ b/app/listeners/AccessListener.php @@ -34,8 +34,7 @@ class AccessListener extends Plugin $role = Acl::ROLE_GUEST; } - // Get the resource from controller name. - $resource = $dispatcher->getControllerName(); + $resource = $this->_getCurrentResource($dispatcher); // Ignore checks for error resource. if (in_array($resource, $this->_ignored_resources)) { @@ -70,4 +69,15 @@ class AccessListener extends Plugin } return true; } + + protected function _getCurrentResource($dispatcher) + { + // If default module, only fetch controller name. + if (strlen($dispatcher->getModuleName()) < 1) { + return $dispatcher->getControllerName(); + } + + // Otherwise, we follow the syntax "/" + return "{$dispatcher->getModuleName()}/{$dispatcher->getControllerName()}"; + } }