Symfony 4.2: Guard + in_memory Пользователи, это возможно? - PullRequest
0 голосов
/ 01 февраля 2019

Я обычно использую пользователей in_memory для своих суперпользователей, затем я создаю обычных пользователей в базе данных.В этой новой версии Symfony я следовал этому руководству: https://symfony.com/doc/current/security/form_login_setup.html Все по умолчанию.Для создания сущности пользователей.Проблема заключается в том, что провайдеры in_memory игнорируются, и я получаю «имя пользователя не найдено» всякий раз, когда я пытаюсь их использовать.

my securirty.yml:

security:
encoders:
    Symfony\Component\Security\Core\User\User: plaintext
    App\Entity\User:
        algorithm: bcrypt

role_hierarchy:
    ROLE_ALL: [ROLE_USUARIO]
    ROLE_SUPER_ADMIN:  [ROLE_ALL]

providers:
    chain_provider:
        chain:
            providers: [in_memory, app_user_provider]
    in_memory:
        memory:
            users:
                someuser:
                    password: somepassword
                    roles: ROLE_SUPER_ADMIN
    # used to reload user from session & other features (e.g. switch_user)
    app_user_provider:
        entity:
            class: App\Entity\User
            property: username
    # used to reload user from session & other features (e.g. switch_user)

firewalls:
    main:
        anonymous: ~
        provider: chain_provider
        guard:
            authenticators:
                - App\Security\LoginFormAuthenticator


access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/, role: ROLE_USUARIO }
...