Сервисный аккаунт в Symfony

По документации Symfony сделал аутентификацию пользователей по токену. Имеется стандартный аутентификатор Symfony из коробки, который не трогался. Теперь возникла необходимость определенному кругу пользователей (например, по определенной роли) запретить авторизовываться обычным способом (логин-пароль) и оставить им только аутентификацию по токену. Видимо, в этом случае нужно переписывать стандартный аутентификатор. Как это можно сделать?

security.yaml:

security:
    providers:
        db:
            entity:
                class: App\Entity\User
                property: username

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            anonymous: true
            provider: db
            form_login:
                login_path: login
                check_path: login
                default_target_path: /abonent_info/
                always_use_default_target_path: false
            json_login:
                check_path: /json_login

            guard:
                authenticators:
                    - App\Security\TokenAuthenticator

            logout:
                path: /logout
                target: /

    encoders:
        App\Entity\User:
            algorithm: auto

    access_control:
        ...

    role_hierarchy:
        ...

Ответы (0 шт):