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