Comment personnaliser le forfait Fosuser: fichier de sécurité, j'ai besoin d'écrire une regex
-
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 ...
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