php – Silex SecurityServiceProvider throws’标识符“securit
发布时间:2020-12-13 16:32:53 所属栏目:PHP教程 来源:网络整理
导读:我不知道如何在Silex中使用SecurityServiceProvider.我的配置是: $app['security.firewalls'] = array( 'admin' = array( 'pattern' = '^/_admin/.+','form' = array('login_path' = '/_admin/','check_path' = '/_admin/login_check'),'logout' = array('l
我不知道如何在Silex中使用SecurityServiceProvider.我的配置是:
$app['security.firewalls'] = array( 'admin' => array( 'pattern' => '^/_admin/.+','form' => array('login_path' => '/_admin/','check_path' => '/_admin/login_check'),'logout' => array('logout_path' => '/_admin/logout'),'users' => array( 'admin' => array('ROLE_ADMIN','5FZ2Z8QIkA7UTZ4BYkoC+GsR...'),),); $app->register(new SilexProviderSecurityServiceProvider()); 这只是抛出: Fatal error: Uncaught exception 'InvalidArgumentException' with message 'Identifier "security.authentication_providers" is not defined.' 根据文档在某些情况下,当您要访问安全功能之外的处理请求时,您必须调用$app-> boot();但这不是我的情况. Unable to generate a URL for the named route "_admin_login_check" as such route does not exist. 有an issue a few months ago可能是同样的问题,但它是关闭的,所以我猜应该现在修复
尝试在TwigServiceProvider之前注册SecurityServiceProvider时,我得到了同样的异常.
我刚刚更改了注册顺序(Twig后的安全性),一切都开始正常工作: // Twig service $app->register(new SilexProviderTwigServiceProvider(),array( 'twig.path' => sprintf("%s/../views",__DIR__),)); // Security service $app["security.firewalls"] = array(); $app->register(new SilexProviderSecurityServiceProvider()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |