Bonjour,

J'ai cherché sur la documentation de symfony (How to user multiple user providers) mais je pense faire des erreurs d'interprétation.

j'aimerai savoir s'il était possible à partir d'un même formulaire de connexion de parcourir deux Entity différentes (ex : table User et table Player) pour authentifier et autoriser un utilisateur

Code yaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
security:
    encoders:
        App\Entity\Player:
            algorithm: auto   
        App\Entity\User:
            algorithm: auto 
 
    # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
 
    providers:
 
        chain_provider:
            chain:
                providers: [mon_provider_player, mon_provider_user]
 
        mon_provider_player :
            entity:
                class: App\Entity\Player
                property: emailPlayer   
 
        mon_provider_user :
            entity:
                class: App\Entity\User
                property: emailUser
 
    firewalls:
 
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
 
        player:
            anonymous: lazy
            provider: mon_provider_player
            form_login:
                 login_path: login 
                check_path: login
                csrf_token_generator: security.csrf.token_manager
                success_handler: redirect.after.log
...
 
        user:
            anonymous: lazy
            provider: mon_provider_user
            form_login:
                login_path: login 
                check_path: login
                csrf_token_generator: security.csrf.token_manager
                success_handler: redirect.after.log
.....

lorsque je commente le "firewall - player" => le firewall parcourt la table USER et authentifie le USER sans pb.
Inversement lorsque je commente le "firewall - user" => le firewall parcourt la table PLAYER et authentifie le PLAYER sans pb.

C'est lorsque les 2 firewalls sont actifs (user et player) que l'authentification ne marche plus sur les 2 tables. Il ne parcourt que le table Player qui apparaît en premier dans le script.

Avez-vous une solution pour parcourir 2 tables d'utilisateurs.