Bonjour à tous,

J'ai créer un utilisateur via la base de donnée qui peut s'authentifier et avoir accès à son contenu disponible sur les url commençant par /mairie.

Le problème c'est qu'a la racine du site / l'utilisateur n'est plus reconnu comme connecté.

Je peux pas le faire matcher le par feu de l'utilisateur pour l'adresse / ou ^/ car j'ai besoin par la suite de créer un deuxième type d'utilisateur.

mon security.yml

firewalls:
    # disables authentication for assets and the profiler, adapt it according to your needs
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false

    mairie:
        pattern: ^/mairie
        anonymous: ~
        provider: mairie
        form_login:
            login_path: login_mairie
            check_path: login_check_mairie
        logout:
            path:   logout_mairie
            target: /

    default:
        pattern: ^/
        anonymous: ~

De plus quand je vais sur une url commençant par /mairie, je peux quand même y accéder si pas connecté et je ne suis pas redirigé vers le formulaire.

Pouvez vous m'aider svp ?

3 réponses


Ikemad
Réponse acceptée

Bonsoir, juste une idée comme ça :
pourquoi ne pas connecter ton utilisateur sous le firewall default , refuser les anonymes sous le firewall mairie et en restreindre l'accès aux utilisateurs possédant un certain rôle ?

Ikemad
Réponse acceptée

Je n'ai pas testé mais quelque chose comme ça pourrait peut être faire l'affaire :

security :
    firewalls:
        mairie:
            pattern: ^/mairie
            anonymous: false

        default:
            pattern: ^/
            anonymous: true
            provider: main
            form_login:
                login_path: login
                check_path: login_check
            logout:
                path:   logout
                target: /

    access_control:
        - { path: ^/mairie, roles: USER_MAIRIE }
namnam24
Auteur

Merci pour vos réponse, en effet sa fonctionne ainsi.