[英]Symfony login_check not handled on production environment
我刚刚用Symfony开发了我的网站。 使用WampServer的本地计算机上一切正常。 但是,既然我已经将项目发送到生产服务器,那么我在安全性方面就会遇到一个烦人的问题。
我在网址/ admin和位于/ admin / login的登录表单后面有一个安全的管理区域。 一旦我提交了表单,框架就不会捕获处理连接的请求并按照/ admin / login_check上的要求检查日志。 相反,我有一个空白页(位于/ admin / login_check),什么也没有发生:我没有登录,日志没有显示任何错误。 我真的被卡住了...
我试图修改我的配置几次,但是找不到解决方案。 也许这确实很明显,但是我找不到...
我在PHP 5.4.26下运行
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中:
login:
pattern: /login
defaults: { _controller: RydAdminBundle:Admin:login }
login_check:
pattern: /login_check
logout:
pattern: /logout
注意:我也尝试过将login_check和login放在admin-> / admin / login_check和/ admin / login后面,但这会导致相同的问题。
非常感谢您的帮助!
尝试删除login_firewall,以便您的security.yml如下所示。 另外,我更改了内存提供程序中的角色。
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.