Я бы хотел, чтобы администраторы могли входить в систему как любой пользователь, которого он хочет, благодаря номеру учебного курса пользователя. В config / packages / security.yaml я добавил это в свой брандмауэр:
admin_matricule:
pattern: ^/api/admin/login_matricule
stateless: true
anonymous: false
provider: app_user_provider
json_login:
check_path: /api/admin/login_matricule
# success_handler: lexik_jwt_authentication.handler.authentication_success
# failure_handler: lexik_jwt_authentication.handler.authentication_failure
guard:
authenticators:
- App\Security\AppAdminMatriculeAuthenticator
и это в access_control:
access_control:
- { path: ^/api/admin/login_matricule, roles: ROLE_ADMIN }
- { path: ^/api/docs, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/, roles: IS_AUTHENTICATED_FULLY }
Однако контроль доступа, кажется, не работает, потому что я может связываться с пользователями, у которых нет ROLE_ADMIN
.