2013-07-02 80 views
0

我使用FOSUserbundleFOSUserbundle安全設置

我的安全設置是這樣的話,如果你在/成員 訪問沒有登錄,則轉移到首頁。

我想添加另一個行爲。

如果您在首頁上訪問,當你登錄,你transffered /件/型材

我怎麼能做到嗎?

security: 
    encoders: 
     FOS\UserBundle\Model\UserInterface: sha512 

    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] 

    providers: 
     fos_userbundle: 
      id: fos_user.user_provider.username_email 

    firewalls: 


     main: 
      pattern: ^/ 
      anonymous: ~ 
      form_login: 
       check_path: /login_check 
       login_path: /login 
       provider: fos_userbundle 
      logout: 
       path: /logout 
       target:/

    access_control: 
     - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 


     - { path: ^/member, role: ROLE_USER } 
+0

'打包'是什麼? –

+0

登錄後是否要重定向到'/ member/profile'? –

回答

1

有您的問題,很多解決方案:

toppage控制器,如果他在登錄您可以將用戶重定向

或者

您可以使用事件監聽器kernel.request如果當前路線爲toppage並且用戶登錄,則作爲設置響應的責任。

編輯:

要在控制器重定向:return $this->redirect($this->generateUrl('routename'))

見:http://symfony.com/doc/current/book/controller.html#redirecting

希望這是有幫助的。

最好的方面。

+0

我可以在控制器中重定向嗎?我想從/ Acme/TopBundle/Controller/DefaultController的indexAction()中調用url'/ member/profile'。 – whitebear

+0

還是我應該做重定向的HTML頁面,如''?我只是猜測它並不酷。 – whitebear

+0

我編輯我的回答 –