2014-10-12 147 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合作。