2017-05-07 68 views
0

我有一個管理面板,路線爲/admin。當我嘗試加入與誰是不是管理員用戶的/admin路線,它拋出以下異常:如何重定向無法訪問保留頁面的用戶?

表達「has_role(‘ROLE_SUPER_ADMIN’)」拒絕訪問。

沒關係,但如果用戶沒有ROLE_SUPER_ADMIN角色,我想重定向。我嘗試了一些東西,但沒有成功。這裏是我的功能AdminController

/** 
    * @Security("has_role('ROLE_SUPER_ADMIN')") 
    * @Route("/admin", name="admin") 
    */ 
    public function adminPageAction() 
    { 
     if ($this->isGranted('ROLE_SUPER_ADMIN')) { 
      return $this->render('admin.panel.html.twig/admin.panel.html.twig'); 
     } 
     return $this->redirectToRoute('homepage'); 
    } 
+2

爲什麼你應該重定向一個無法訪問保留頁面的用戶?未經授權的用戶甚至不應該知道該頁面存在,以及如果您在沒有提供任何關於「爲什麼」的信息的情況下重定向他,那麼該用戶體驗會不好。這個解決方案的第一個缺點是,如果你真的想要這種行爲,你將不得不在任何控制器方法中使用相同的代碼。 –

回答

0

問題出在上面的註釋中。沒有必要把@安全。

相關問題