2017-04-22 28 views
0

我有一個symfony 2應用程序與3個不同的角色:管理員,供應商和用戶。所有這三個用戶應該有不同的登錄頁面。我正在努力的是要弄清楚如何在security.yml中放入某個url路徑/vendor未經身份驗證(IS_AUTHENTICATED_ANONYMOUSLY)的用戶,例如重定向到類似/adminlogin的對象,而不是/login。我現在正在使用FOSUserBundle,而且看起來好像所有內容都重定向到/login基於symfony當前網址的重定向

謝謝!

回答

0

您可以將安全配置分成三個不同的防火牆:一個用於管理員用戶,一個用於供應商用戶,另一個用於其他用戶。 而且,根據用戶點擊的URL,您應該將他重定向到適當的登錄表單(如果他沒有登錄)。

例如,如果用戶訪問example.com/admin/inventory,他沒有通過認證,就應該他重定向到example.com/adminlogin

firewalls: 
    admin_secured_area: 
     pattern: ^/admin 
     ... 
     form_login: 
      login_path: /admin/login 
      check_path: /admin/login_check 
      default_target_path: /admin 

    vendor_secured_area: 
     pattern: ^/vendor 
     ... 
     form_login: 
      login_path: /vendor/login 
      check_path: /vendor/login_check 
      default_target_path: /vendor 

    default: 
     ... 

請看一看這個答案詳細信息:https://stackoverflow.com/a/24546275/5431686