php - ZF2 console route and ACL -


i've follow problem application.

i make use of acl, works fine. need setup console module scraping. i've created te module controller , route when run command in console permission error acl.

my module.config.php;

return array(     'router' => array(         'routes' => array(         ),     ),     'controllers' => array(         'invokables' => array(             'cron\controller\city'  => 'application\controller\citycontroller',         ),     ),     // placeholder console routes     'console' => array(         'router' => array(             'routes' => array(                  'cronroute' => array(                 'options' => array(                         'route'    => 'getcities',                         'defaults' => array(                             'controller' => 'cron\controller\city',                             'action' => 'get'                         ),                     ),                 ),              ),         ),     ), ); 

my controller;

<?php  namespace cron\controller;  use zend\mvc\controller\abstractactioncontroller; class citycontroller extends abstractactioncontroller {      public function getaction()     {         echo 'get cities';     } } 

and part of module.acl.roles.php

<?php  return array(      # guest     'guest' => array(          # homepage         'home',          # console routes         'cronroute/getcities', // tried 1         'getcities', // , 1     ), 

than result in console command;

php public_html/index.php getcities    fatal error: uncaught exception 'zend\permissions\acl\exception\invalidargumentexception' message 'resource 'cronroute' not found' in /home/..../domains/..../vendor/zendframework/zendframework/library/zend/permissions/acl/acl.php:292 

your acl resource cronroute/getcities wrong because (normally) check route getcities child cronroute.

so solution rid of /getcities behind cronroute in module.acl.roles.php , should fine.


Comments