我试图在symfony2中创建一个登录表单
当输入正确的信息时,重定向进入循环并显示一条消息:"没有收到数据"或"连接重置"显示。如果我输入了错误的信息,则显示消息:Bad Credencial。
我的security.yml
Segue o security.yml que criei
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login_firewall:
pattern: ^/login$
anonymous: ~
secured_area:
pattern: ^/
provider: meu_provider
form_login:
login_path: login
check_path: login_check
logout:
path: logout
target: homepage
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_USER }
$ user-> getRoles()
中的用户IS ROLE_USER谢谢!
对不起我的英文!
答案 0 :(得分:1)
在cookbook http://symfony.com/doc/current/cookbook/security/form_login_setup.html中,防火墙中定义了包含登录表单和检查路径(在示例中相同)的防火墙,匿名用户可以访问该防火墙。
在您的配置中只能访问/ login(line:pattern:^ / login $)。
答案 1 :(得分:0)
尝试在 login_firewall部分
中将anonymous: ~
更改为security: false
答案 2 :(得分:0)
您的login和login_check路由应位于您正在使用的防火墙下。 换句话说,你必须删除/评论这3行:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
#login_firewall:
# pattern: ^/login$
# anonymous: ~
secured_area:
pattern: ^/
provider: meu_provider
form_login:
login_path: login
check_path: login_check
logout:
path: logout
target: homepage
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_USER }
这一行 - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- 足以让用户在没有重定向循环的情况下使用登录表单。