[英]Symfony login_check not handled on production environment
I've just finished developping my website with Symfony. 我刚刚用Symfony开发了我的网站。 Everything was working well on my local machine with WampServer. 使用WampServer的本地计算机上一切正常。 But now that I have sent my project to my production server, I have an annoying problem with the security. 但是,既然我已经将项目发送到生产服务器,那么我在安全性方面就会遇到一个烦人的问题。
I have a secured admin zone behind the url /admin and a login form at /admin/login. 我在网址/ admin和位于/ admin / login的登录表单后面有一个安全的管理区域。 Once I submit the form, the framework is not catching the request to handle the connection and check the logs as it should on /admin/login_check. 一旦我提交了表单,框架就不会捕获处理连接的请求并按照/ admin / login_check上的要求检查日志。 Instead, I have a blank page (at /admin/login_check), nothing happens : I'm not logged in and the logs are not showing any error. 相反,我有一个空白页(位于/ admin / login_check),什么也没有发生:我没有登录,日志没有显示任何错误。 I'm really stucked... 我真的被卡住了...
I have tried to modify my configuration several times but can't find a solution. 我试图修改我的配置几次,但是找不到解决方案。 Maybe it's just something really obvious, but I can't find ... 也许这确实很明显,但是我找不到...
I run under PHP 5.4.26 我在PHP 5.4.26下运行
Security.yml: Security.yml:
providers:
in_memory:
memory:
users:
admin: { password: secret, roles: [ 'ROLE_ADMIN' ] }
firewalls:
login_firewall:
pattern: ^/login$
anonymous: ~
secured_area:
pattern: ^/
anonymous: ~
form_login:
login_path: /login
check_path: /login_check
logout:
path: /logout
target: /login
access_control:
- { path: ^/admin/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_ADMIN }
Routing.yml: routing.yml中:
login:
pattern: /login
defaults: { _controller: RydAdminBundle:Admin:login }
login_check:
pattern: /login_check
logout:
pattern: /logout
NB: I've also tried putting login_check and login behind admin -> /admin/login_check and /admin/login but it results on the same issue. 注意:我也尝试过将login_check和login放在admin-> / admin / login_check和/ admin / login后面,但这会导致相同的问题。
Thank you very much for helping ! 非常感谢您的帮助!
Try removing the login_firewall, so your security.yml reads as follows. 尝试删除login_firewall,以便您的security.yml如下所示。 Also, I changed the roles in the memory provider. 另外,我更改了内存提供程序中的角色。
providers:
in_memory:
memory:
users:
admin: { password: secret, roles: ROLE_ADMIN }
firewalls:
secured_area:
pattern: ^/
anonymous: ~
form_login:
login_path: /login
check_path: /login_check
logout:
path: /logout
target: /login
access_control:
- { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_ADMIN }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.