Symfony2中的安全区域
问题描述:
我对Symfony2的安全特性有疑问。我想在/my
前缀下保护我的应用程序的特殊区域。Symfony2中的安全区域
我的配置看起来像如下:
security.config:
providers:
my:
entity: { class: MyUserBundle:User, property: username }
firewalls:
public:
pattern: /my/login.*
security: false
my:
pattern: /my.*
form-login:
check_path: /my/login_check
login_path: /my/login
logout: true
access_control:
- { path: /my/login.*, roles: IS_AUTHENTICATED_ANONYMOUSLY }
当我尝试访问登录区,一切正常,提交表单导致一个错误页面,因为没有为_security_check
路线没有注册的控制,像其在guide描述:
_security_login:
pattern: /my/login
defaults: { _controller: MyUserBundle:Auth:login }
_security_check:
pattern: /my/login_check
我认为正常的SecurityBundle黑客到这个过程,使得不需要控制器。 Symfony2的配置非常复杂。
我想我错过了什么,希望你能帮上忙。
在此先感谢!
答
您必须定义一个防火墙(描述所有路由)并使用access_control部分设置确定安全区域。