【问题标题】:Silex and Symfony Security not letting me have anonymous routesSilex 和 Symfony Security 不允许我使用匿名路由
【发布时间】:2015-06-28 19:42:17
【问题描述】:

我正在 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 击中的防火墙,因为@YassineGuedidi 建议禁用安全标志应该可以解决问题。启用日志后,安全组件会抛出大量调试信息,可能有助于解决问题。在 /cron/ 命名空间中请求资源时,能否发布日志副本?

标签: php symfony silex


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    尝试为 cron 路由设置匿名 = true

    【讨论】:

      猜你喜欢
      • 2014-09-02
      • 2015-10-09
      • 2020-05-10
      • 2021-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      相关资源
      最近更新 更多