Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Silex和Symfony Security不允许我使用匿名路由_Php_Symfony_Silex - Fatal编程技术网

Php Silex和Symfony Security不允许我使用匿名路由

Php Silex和Symfony Security不允许我使用匿名路由,php,symfony,silex,Php,Symfony,Silex,我正在Silex中建立一个站点,并使用Symfony安全组件来保护应用程序。需要有一个开放的路由来触发cron运行的事件,但是这个路由一直要求我登录,即使我在防火墙中设置了不允许登录的路由。这里的任何帮助都将不胜感激 $app['security.firewalls'] = array( 'login' => array( 'pattern' => '^/user/login$', ), 'register' => array( 'pattern' =>

我正在Silex中建立一个站点,并使用Symfony安全组件来保护应用程序。需要有一个开放的路由来触发cron运行的事件,但是这个路由一直要求我登录,即使我在防火墙中设置了不允许登录的路由。这里的任何帮助都将不胜感激

$app['security.firewalls'] = array(
'login' => array(
    'pattern' => '^/user/login$',
),
'register' => array(
    'pattern' => '^/user/register$',
),
'cron' => array(
    'pattern' => '^/cron$',
),
'secured_area' => array(
    'pattern' => '^.*$',
    'anonymous' => false,
    'remember_me' => array(),
    'form' => array(
        'login_path' => '/user/login',
        'check_path' => '/user/login_check',
    ),
    'logout' => array(
        'logout_path' => '/user/logout',
    ),
    'users' => $app->share(function($app) { return $app['user.manager']; }),
  ),
);

您可以禁用该防火墙的安全性:

'cron' => array(
    'pattern' => '^/cron$',
    'security' => false,
),

对于cron路由,请尝试设置anonymous=true

您应该启用monolog provider,并查看/cron会击中哪些防火墙,因为@YassineGuedidi建议禁用安全标志应该可以解决这个问题。启用日志后,安全组件会抛出大量调试信息,这些信息可能有助于解决问题。在/cron/命名空间中请求资源时,是否可以发布日志副本?