silex注销页面NotFoundHttpException

时间:2014-03-11 20:19:16

标签: security session symfony routing silex

我正在学习silex并浏览文档,并且在安全提供程序注销时遇到问题。登录工作正常,并生成表单。当我去管理/注销时,我得到一个例外。

  

NotFoundHttpException:无法找到路径" / admin / logout"的控制器。也许您忘了在路由配置中添加匹配的路由?

我对文档的理解是应该神奇地制作路线。由安全提供商。 http://silex.sensiolabs.org/doc/providers/security.html#adding-a-logout

$app->register(new SecurityServiceProvider(), array(
        'security.firewalls' => array(
            'unsecured' => array(
                'anonymous' => true
            ),
            'admin' => array(
                'pattern' => '^/admin',
                'http' => true,
                //use forms for the login insetad
                'form' => array(
                    'login_path' => '/login', 
                    'check_path' => '/admin/login_check'
                ),
                'logout' => array('logout_path' => '/admin/logout'),
                'users' => array(
                    // raw password is foo
                    'admin' => array('ROLE_ADMIN', '5FZ2Z8QIkA7UTZ4BYkoC+GsReLf569mSKDsfods6LYQ8t+a8EW9oaircfMpmaLbPBh4FOBiiFyLfuZmTSUwzZg=='),
                ),
            ),
        )
    ));

2 个答案:

答案 0 :(得分:1)

只需删除

'unsecured' => array(
    'anonymous' => true
),

答案 1 :(得分:0)

我没有答案,但我不能评论你的答案,所以必须这样做。

无论如何,删除不安全的防火墙并不能解决问题,至少对我而言。是不是访问登录屏幕所需的不安全的防火墙。如果我错了,我会创建一个单独的问题。