繁体   English   中英

Symfony2安全防火墙重定向

[英]Symfony2 security firewall redirect

在我的防火墙中的“ security.yml”文件中,我想在用户未登录时执行重定向操作。 但是这种重定向不会进入登录表单 我想将匿名用户重定向到主页(或链接到主页的403页面)。

anonimous_users --go-> secure_page --redirect-> home_page

但是我不知道是否可能,如果可以,我该如何在security.yml中编写它。

你能帮我吗 ?

不知道您的代码,这是基本的工作流程:您需要某种访问控制。.区域用户需要特定的角色才能访问:

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

您可以根据需要进行调整。 到目前为止,访问url / secret /会将用户引导至您在登录表单下提供的登录页面。 请注意,防火墙并不意味着将明确地重定向用户。 防火墙只是页面上处于某种(例如说)监督之下的区域。 阻止角色内容发生在access_control

在这里阅读: http : //symfony.com/doc/current/book/security.html

是的,我已经看到了这种方法。 但这不行,因为我有两个登录协议。 登录表格和CAS。 因此,如果我使用access_controle,则安全性会将匿名用户重定向到登录表单页面,如果它是CAS用户,那就不好了。

我找到一个解决方案,我写了3个安全区域。 一个用于login_form,一个用于CAS,最后一个是我的管理页面,带有错误的login_form,他将其重定向到我的主页,如下所示:

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

如果您在其中两个其他安全区域中被识别出,它们具有相同的上下文,则您将登录到管理区域。

现在,我尝试使用2登录表单,它可以正常工作。 现在,我需要使用BeSimpleSsoBundle。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM