Question

I need to tell my FOSUSer admin that I want to allow only admin users in every section of the website that starts by admin. By default, in the doc, the give, for the security.yml file that code :

security:
    encoders:
        "FOS\UserBundle\Model\UserInterface": sha512

    providers:
        fos_userbundle:
            id: fos_user.user_manager
    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

        # Firewall pour les pages de connexion, inscription, et récupération de mot de passe
        login:
            pattern:   ^/(login$|register|resetting)  # Les adresses de ces pages sont login, register et resetting
            anonymous: true                           # On autorise bien évidemment les anonymes sur ces pages !

        # Firewall principal pour le reste de notre site
        main:
            pattern: ^/                      # ^/ = tout ce qui commence par / = tout notre site
            form_login:                      # On définit notre méthode d'authentification
                provider:    fos_userbundle  # On lit l'authentification au provider définit plus haut
                remember_me: true            # On active la possibilité du "Se souvenir de moi" (désactivé par défaut)
            remember_me:
                key:         %secret%        # On définit la clé pour le remember_me (%secret% est un parametre de parameters.ini)
            anonymous:       true            # On autorise les utilisateurs anonymes (non identifiés)
            logout:          true            # On autorise la déconnexion manuelle (désactivé par défaut)

I just want to modify that line :

pattern: ^/  # ^/ = tout ce qui commence par / = tout notre site

so that I can sey : on for all addresses like 'http://www.mywebsite.com/web/app_dev.php/admin/'

How do I write this regex? I tried:

pattern: ^/(admin)  # ^/ = tout ce qui commence par / = tout notre site

But that doesn't work...

Was it helpful?

Solution

To only allow admin users in every page that starts with admin, you need to edit the access_control section of your security.yml file:

access_control:
    #List of pages only accessible by administrator
    - { path: ^/admin, role: ROLE_ADMIN }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top