我对 Symfony2 的安全特性有疑问。我想在/my
前缀下保护我的应用程序的一个特殊区域。
我的配置如下所示:
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
,如指南中所述:
_security_login:
pattern: /my/login
defaults: { _controller: MyUserBundle:Auth:login }
_security_check:
pattern: /my/login_check
我认为通常 SecurityBundle 会侵入此过程,因此不需要控制器。Symfony2 的配置总是非常复杂。
我想我错过了一些东西,希望你能帮忙。
提前致谢!