Symfony 4 внешняя проверка входа - PullRequest
0 голосов
/ 16 ноября 2018

Я создал базовую форму входа в Symfony 4, как это, и все это прекрасно работает:

security:
    encoders:
        App\Entity\User:
            algorithm: bcrypt

    providers:
        backend_user_provider:
            entity:
                class:
                    App\Entity\User
                    property: email

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        cms:
            switch_user: true
            pattern: ^/
            http_basic: ~
            provider: backend_user_provider
            anonymous: ~
            form_login:
                login_path: login
                check_path: login_submit
            logout:
                path: logout
                target: login
            remember_me:
                secret:   '%kernel.secret%'
                lifetime: 604800

    access_control:
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/, roles: ROLE_BACKEND }

Теперь, чего бы я хотел достичь, так это того, что если пользователя не существует,Я могу сделать вызов CURL в определенное внешнее местоположение (с адресом электронной почты и паролем) и в зависимости от результата JSON (скажем, {success: true} или {success: false}) войти в систему пользователя в любом случае.

Как мне это сделать?Я знаю о компоненте Guard , но не могу понять, как применить его на практике.

Заранее спасибо!

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете использовать ChainUserProvider для этой цели и подключить его вместе с вами ExternalUserProvider.

https://symfony.com/doc/4.0/security/multiple_user_providers.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...