How to personalise the FOSUser Bundle : security file, I need to write a Regex
-
11-12-2019 - |
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...
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