symfony2多个防火墙login_check“

时间:2015-05-04 12:58:38

标签: php symfony login

我构建了symfony2项目,我有2个用于管理员和一个用于用户的软件包。 我配置了我的security.yml,因此管理员可以登录,但用户不能登录。

我已经关注了这个tutoriel http://symfony.com/fr/doc/current/book/security.html

这是我的security.yml:

安全性:

encoders:
        Symfony\Component\Security\Core\User\User:
            algorithm: bcrypt
            cost: 12
        BackOfficeBundle\Entity\Administrateur:
             algorithm: bcrypt
        BackOfficeBundle\Entity\Collaborateur:
             algorithm: bcrypt


role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
        administrators:
            entity: { class: BackOfficeBundle:Administrateur, property: username }
        users:
            entity: { class: BackOfficeBundle:Collaborateur, property: email }


firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        front_login:
            pattern:   ^/clogin$
            anonymous: true
        back_login:
            pattern:   ^/login$
            anonymous: true
        back:
            pattern:   ^/
            anonymous: false
            provider: administrators

            form_login:
                login_path: login
                check_path: login_check
                default_target_path: /platform

            logout:
                path:   logout
                target: /login

        front:
            pattern:   ^/
            anonymous: false
            provider: users
            form_login:
                login_path: clogin
                check_path: clogin_check
                default_target_path: /collaborateur

            logout:
                path:   clogout
                target: /clogin


access_control:
    #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
     - { path: ^/platform, roles: ROLE_ADMIN }
     - { path: ^/collaborateur, roles: ROLE_USER }

我的routing.yml:

front_office:

resource: "@FrontOfficeBundle/Resources/config/routing.yml"
prefix:   /collaborateur

back_office:

resource: "@BackOfficeBundle/Resources/config/routing.yml"
prefix:   /platform

登录:

pattern:   /login
defaults:  { _controller: UserBundle:Security:login }

login_check:

pattern:   /login_check

注销:

pattern:   /logout

clogin:

pattern:   /clogin
defaults:  { _controller: UserBundle:Security:clogin }

clogin_check:

pattern:   /login_check

clogout:

pattern:   /logout

我的代码应该更改以允许用户登录? 我应该有两个login_check吗?

0 个答案:

没有答案
相关问题