我正在学习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=='),
),
),
)
));
答案 0 :(得分:1)
只需删除
'unsecured' => array(
'anonymous' => true
),
答案 1 :(得分:0)
我没有答案,但我不能评论你的答案,所以必须这样做。
无论如何,删除不安全的防火墙并不能解决问题,至少对我而言。是不是访问登录屏幕所需的不安全的防火墙。如果我错了,我会创建一个单独的问题。