La configuration du pare-feu est la suivante :
firewalls: login_firewall: pattern: ^/login$ anonymous: ~ secured_area: pattern: ^/ login_form: ~
Après la connexion, à l'exception de la page /login, d'autres pages peuvent obtenir les informations actuelles de l'utilisateur via$this->getUser()
,
Comment puis-je obtenir les informations actuelles de l'utilisateur sur la page /login ?
J'ai résolu le problème en fonction de la réponse, voici mon contenu security.yml :
security: role_hierarchy: ROLE_ADMIN: ROLE_USER firewalls: # login_firewall: # pattern: ^/login$ # anonymous: ~ secured_area: pattern: ^/ anonymous: ~ form_login: login_path: login check_path: login_check logout: path: /logout target: / access_control: - { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/, roles: ROLE_USER } providers: in_memory: memory: users: kevin: { password: kevinpass, roles: 'ROLE_USER' } admin: { password: adminpass, roles: 'ROLE_ADMIN' } encoders: Symfony\Component\Security\Core\User\User: plaintext
En même temps, j'ai aussi trouvé une question similaire sur SO - lien
Merci pour la réponse les amis !
Vous pouvez supprimer le pare-feu de connexion et le configurer en acl :