我用 Symfony 2.8 构建了一个应用程序。
我使用KnpMenuBundle创建了一个菜单。
所以我想在用户未连接时显示菜单项,当然在用户连接时显示其他菜单项。
为了实现这组条件,我使用了以下这些指令:
$security_context = $this->container->get('security.authorization_checker');
if ($security_context->isGranted(array('ROLE_PSY', 'ROLE_MEMBER'))) { ... }
菜单在“DEV”环境中正确显示,但不幸的是我在“PROD”环境中遇到了这个错误。:
Fatal error: Uncaught exception 'Symfony\Component\Routing\Exception\ResourceNotFoundException' in C:\xampp_V_5\htdocs\Psych\Psych_web\app\cache\prod\appProdUrlMatcher.php:2489 Stack trace:
#0 C:\xampp_V_5\htdocs\Psych\Psych_web\app\cache\prod\classes.php(1425): appProdUrlMatcher->match('/test')
#1 C:\xampp_V_5\htdocs\Psych\Psych_web\app\cache\prod\classes.php(1288): Symfony\Component\Routing\Matcher\UrlMatcher->matchRequest(Object(Symfony\Component\HttpFoundation\Request))
#2 C:\xampp_V_5\htdocs\Psych\Psych_web\app\cache\prod\classes.php(2484): Symfony\Component\Routing\Router->matchRequest(Object(Symfony\Component\HttpFoundation\Request))
#3 [internal function]: Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object(Symfony\Component\HttpKernel\Event\GetResponseEvent), 'kernel.request', Object(Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher))
#4 C:\xampp_V_5\htdocs\Psych\Psych_web\app\cache\prod\classes.php(2272): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ in C:\xampp_V_5\htdocs\Psych\Psych_web\app\cache\prod\classes.php on line 5233