繁体   English   中英

Symfony2安全问题

[英]Symfony2 Security problem

我将使我的Web项目(基于symfony2 PR5)适应symfony2 PR7。 除了安全捆绑包,此迁移的一切都非常清楚。 这是我的安全配置:

security:
    encoders:
        Application\PermissionsBundle\Entity\Stuff: sha1
    providers:
        main:
            entity: { class: PermissionsBundle:Stuff, property: username}
    firewalls:
        main:
            pattern: .*
            form_login:
                check_path:   /login-check-admin
                login_path:   /login-admin
                failure_path: /login-admin
            logout:     true
            anonymous: true 
        backend:
            pattern: /admin.*
            form_login:
                check_path: /login-check-admin
                login_path: /login-admin
            logout: true
            security: true
            anonymous: false
    access_control:
        - { path: /admin.*, role: ROLE_ADMIN }

路由配置:

_security_login:
    pattern: /login-admin
    defaults: { _controller: PermissionsBundle:Security:login }

_security_check:
    pattern: /login-check-admin

_security_logout:
    pattern: /logout-admin

_security_status:
    pattern: /sec_status
    defaults: { _controller: PermissionsBundle:Security:status }

_security_get_username:
    pattern: /security/get/username
    defaults: { _controller: PermissionsBundle:Security:getUserName }

当我尝试进行身份验证时,我得到404 fpr登录检查:Firebug输出: http : //impic.ru/uploads/2011/2303/53849205_61601933.jpeg

有人可以帮我解决这个问题吗? 此代码在PR5中可以正常工作,但在PR7中则不能。 symfony的官方文档尚未更改。 也许我缺少什么?

解决方案很简单。 您无法自定义注销和login_check路由模式。 这意味着您的security.yml文件应如下所示:

form_login:
    check_path:   /login_check
    login_path:   /login

并且您的routing.yml文件应如下所示:

_security_check:
    pattern: /login_check
_security_logout:
    pattern: /logout

这些对我来说很完美。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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