Comment personnaliser le forfait Fosuser: fichier de sécurité, j'ai besoin d'écrire une regex

StackOverflow https://stackoverflow.com//questions/11657015

  •  11-12-2019
  •  | 
  •  

Question

Je dois dire à mon administrateur Fosuser que je souhaite autoriser uniquement les utilisateurs d'administrateur dans chaque section du site Web qui commence par admin. Par défaut, dans le document DOC, le fichier Security.yml que 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)

Je veux juste modifier cette ligne:

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

Pour que je puisse seyrir: sur toutes les adresses comme ' http://www.mywebsite.com/web/app_dev.php/admin/ '

Comment puis-je écrire cette regex?J'ai essayé:

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

Mais cela ne fonctionne pas ...

Était-ce utile?

La solution

Pour autoriser uniquement les utilisateurs d'administrateur dans chaque page qui commence par admin, vous devez modifier la section Access_Control de votre fichier Security.yml:

access_control:
    #List of pages only accessible by administrator
    - { path: ^/admin, role: ROLE_ADMIN }

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top