我使用的是管理员奏鸣曲捆绑,我有一些麻烦与功能:索纳塔管理员集中删除routeCollection角色
function configureRoutes(RouteCollection $collection){ }
的功能才能正常工作,如果我写一个简单的:
$collection->remove('create');
但是我正在试图做的是根据用户连接角色删除一些路由,所以我尝试了:
$seguridad = $this->getConfigurationPool()->getContainer()->get('security.context');
if ($seguridad->getToken()->getUser() != "anon."){
if (!$seguridad->isGranted('ROLE_ADMIN') ) {
$collection->remove('create');
}
}
但是以管理员身份登录我收到错误: SonataAdminBundle:Block:block_admin_list.html.twig在第31行渲染模板期间抛出异常(“路由”admin_sademer_core_MIENTITY_create“不存在。”)。
就像在某些时刻,Sonata会在进入仪表板之后删除创建的路线,然后当我进入仪表板时,我会尝试进入路线创建但路线已被删除。但我不确定发生了什么事。
有什么想法?非常感谢!
看看http://sonata-project.org/bundles/admin/master/doc/reference/security.html#configuration,实际上有一个内置的方法来做到这一点。 – likeitlikeit 2013-04-30 16:38:09
我看到了此页面,但不清楚如何将每个权限附加到每个实体的每个用户/角色。 由于文档仅显示如何声明不同的权限,而不是如何声明哪个权限对每个实体都具有每个角色。 – Angel 2013-05-02 07:52:02