繁体   English   中英

Symfony login_check在生产环境中未处理

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

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