我使用的是管理員奏鳴曲捆綁,我有一些麻煩與功能:索納塔管理員集中刪除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