Как правильно настроить два типа пользователей и брандмауэры в безопасности Symfony? - PullRequest
0 голосов
/ 04 июля 2018

Я новичок в Symfony, и становится очень трудно понять документацию по безопасности. Так что я здесь в надежде, что кто-нибудь сможет мне помочь. Я работал с учителями (профессорами) и студентами (выпускниками), где каждый из них может просто получить доступ к своей области (/profesores/.* и /alumnos/.*). Тем не менее, я получаю логин браузера, когда я получаю доступ к этим URL-адресам, но они не получают созданных пользователей от их соответствующих сущностей.

Моя защита установлена ​​следующим образом: безопасности:

firewalls:
    # disables authentication for assets and the profiler, adapt it according to your needs
    area_profesores:
        pattern: /profesores/.*
        provider: profesores_desde_bd
        switch_user:
                role: ROLE_PROFESOR
        anonymous: ~
        form_login:
            check_path: /profesores/login_check
            login_path: /profesores/login
        logout:
            path: /profesores/logout
            target: /portada/

    area_alumnos:
        pattern: /alumnos/.*
        provider: alumnos_desde_bd
        switch_user:
                role: ROLE_ALUMNO
        anonymous: ~
        form_login:
            check_path: /alumnos/login_check
            login_path: /alumnos/login
        logout:
            path: /alumnos/logout
            target: /portada/


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

    main:
        anonymous: ~
        http_basic: ~

access_control:
    - { path: ^/profesores, roles: ROLE_PROFESOR}
    - { path: ^/alumnos, roles: ROLE_ALUMNO }
    - { path: /login, roles: IS_AUTHENTICATED_ANONYMOUSLY }

# https://symfony.com/doc/current/security.html#b-configuring-how-users-are-loaded
providers:
    profesores_desde_bd:
        entity:
            class: AppBundle\Entity\Profesores
            property: username
    alumnos_desde_bd:
        entity:
            class: AppBundle\Entity\Alumnos
            property: username


encoders:
    AppBundle\Entity\Profesores:
        algorithm: bcrypt
        cost: 12
        iterations: 0
    AppBundle\Entity\Alumnos:
        algorithm: bcrypt
        cost: 12
        iterations: 0

    Symfony\Component\Security\Core\User\User:
        algorithm: bcrypt
        cost: 12
        # activate different ways to authenticate

        # https://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate
        #http_basic: ~

        # https://symfony.com/doc/current/security/form_login_setup.html
        #form_login: ~

1 Ответ

0 голосов
/ 05 июля 2018

Ответ:

Мне нужно стереть главный: анонимный: ~ http_basic: ~ так как эта аутентификация не регистрирует меня.

...