2014-10-12 82 views
0

在我的防火牆的文件「security.yml」,我希望做一個重定向操作時,用戶是無法登陸。 但是,此重定向不會轉到登錄表單。我想將匿名用戶重定向到主頁(或者鏈接到主頁的403頁面)。Symfony2的安全防火牆重定向

anonimous_users --go - > secured_pa​​ge --redirect - > home_page

但我不知道這是否是可能的,如果是的話,我怎麼能寫這樣的security.yml。

你能幫助我嗎?

回答

0

不知道你的代碼,這是基本的工作流程:您需要某種形式的訪問控制..地區的用戶需要特定的角色來訪問:

access_control: 
    - { path: ^/secret/, roles: ROLE_LOGGED_IN_USER } 

您可以調整您的需求。到目前爲止,訪問url/secret /將導致用戶訪問您在表單登錄下提供的登錄頁面。請注意,防火牆並不意味着用戶將被明確重定向。防火牆就是您頁面上的某個區域 - 讓我們來說 - 監督。阻止角色的內容發生在access_control之上。

閱讀這裏:http://symfony.com/doc/current/book/security.html

0

是的,我已經看到了這個方法。但它不是雙腳,因爲我有兩個登錄協議。登錄表單和CAS。因此,如果我使用access_controle,則安全性會將無用的用戶重定向到登錄表單頁面,如果它是CAS用戶,則不好。

我已經找到了解決辦法,我必須寫3安全區域。一爲login_form,一個用於CAS,最後是我用假login_form管理頁面,他重定向到我的主頁,就像這樣:

admin_area: pattern: ^/admin context: riac_auth form_login: login_path: /home

與保護區時,2人的相同的上下文你在其中之一被識別,你是登錄管理區域。

現在我已嘗試使用2登錄表單,它的工作。現在我需要與BeSimpleSsoBundle合作。