我有一个问题,记住我使用symfony2 ajax登录功能。 这是我的防火墙配置:
firewalls:
secured_front:
pattern: ^/admin/*
anonymous: ~
remember_me:
key: "%secret%"
lifetime: 31536000
domain: ~
path: /
remember_me_parameter: _remember_me
form_login:
login_path: /#login
check_path: /admin/login_check
default_target_path: /admin
remember_me: true
success_handler: front_authentication_handler
failure_handler: front_authentication_handler
logout:
path: /admin/logout
以下是我发送给login_checl的内容:
ajaxData['_username'] = $(this.form).find('#username').val();
ajaxData['_password'] = $(this.form).find('#password').val();
$(this.form).find('#rememberMe').is(':checked');
if($(this.form).find('#rememberMe').is(':checked')){
ajaxData['_remember_me'] = 'on';
}
这是配置。这应该允许记住的用户访问“/ admin”url:
- { path: ^/admin, roles: IS_AUTHENTICATED_REMEMBERED}
- { path: ^/admin, roles: ROLE_AUTHENTICATED}
问题是,它不起作用。关闭浏览器后,打开它并尝试访问安全的URL“/ admin”,它需要再次进行身份验证。 如果您需要更多信息,请在评论部分询问。 谢谢您的时间。
答案 0 :(得分:0)
你的access_control
部分在 app / config / security.yml 中看错了:
- { path: ^/admin, roles: IS_AUTHENTICATED_REMEMBERED}
# You should remove following line
# - { path: ^/admin, roles: ROLE_AUTHENTICATED}