2014-11-14 63 views
0

我在我的應用程序中有兩個角色:用戶和管理員 我配置我的訪問控制,用戶無法訪問我的頁面:你好,只有管理員有這個訪問權限:我用這個代碼在我security.yml如何配置沒有自定義控制器的重定向

access_control: 
    - { path: ^/hello/, role: ROLE_ADMIN } 

當一個簡單的用戶將在根連接:hello.I有錯誤:拒絕訪問:

如何配置我的應用程序,將簡單的重定向用戶訪問主頁面(或連接頁面)時,他會想要訪問root hello。

謝謝你的幫助

回答

1

也許你應該創建kernel.listener.accessDenied? Using Symfony2's AccessDeniedHandlerInterface

+0

給出更好的答案(和我的+1這個),你必須在這裏報告的代碼(也因爲鏈接答案是強烈反對) –

+0

我同意鏈接回答評論;我試圖遵循這個鏈接,它的狀態是404.因此,沒有人能夠嘗試和查閱代碼。 – thoroc

+0

我認爲stackoverflow鏈接是允許的,在這裏你是:http://stackoverflow.com/questions/9166930/using-symfony2s-accessdeniedhandlerinterface –

0

在處理/ hello路由的控制器中,添加基於角色重定向用戶的邏輯。您可以通過控制器內添加以下代碼行實現這個

if ($this->get('security.context')->isGranted('ROLE_USER')) { 
     return $this->redirect($this->generateUrl('Route for Main page')); 
    } 
+0

感謝您的回覆,在我的情況下,我使用fosuserbundle,我應該在哪裏添加這段代碼,在哪個控制器中? SecurityController? – Marooweb

+0

我應該在哪裏放置代碼:) – Marooweb