Сервисный аккаунт в 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:
...