Redirection automatique pour les utilisateurs connectés
Bonjour,
J'utilise le FOSBundle et j'aimerai empêcher aux utilisateurs connectés d'accéder au formulaire d'authentification.
Voici mon security.yml
Code:
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
|
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
providers:
fos_userbundle:
id: fos_user.user_provider.username
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt))/
security: false
main:
pattern: .*
provider: main
form_login:
provider: fos_userbundle
csrf_provider: security.csrf.token_manager
default_target_path: admin_session
use_forward: false
#login_path: login
#check_path: login_check
remember_me:
key: %secret%
lifetime: 3600
path: /
domain: ~
logout: true
anonymous: true |
L'authentification passe très bien mais je peux toujours visualiser le formulaire à partir de l'url /login
comment faire ?
des directives, des attributs ...
Salut,
Si j'ai bien compris tu souhaite que seulement toi puisse accéder a un formulaire, et tu n'a pas de rôle précis pour l'utiliser avec un rôle dont ton utilisateur seul est affecter.
Soit tu te créer un nouveau rôle que tu remplace dans ton Yaml.
Code:
1 2 3 4 5 6
|
access_control:
- { path: ^/login, role: ROLE_PERSO_AFFECTER_A_TON_UTILISATEUR_SEULEMENT }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, role: ROLE_ADMIN } |
Soit tu fait une restriction en utilisant l'attribut ip local ou distante:
Code:
1 2 3 4 5 6 7 8
|
security:
# ...
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, role: ROLE_ADMIN } |
Bonne soirée.