简体   繁体   English

Symfony login_check在生产环境中未处理

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM