Configuration basique de la sécurité symfony2
Comme souvent, le backoffice de votre plus beau site web se trouve derrière une page de login qui vous demande un couple identifiant et mot de passe pour vous laisser passer vers la page du seigneur, celle qui vous donne l'accès au saint Graal, l'index de l'administration. Si tout le monde avait accès aux interfaces admin je pense que ça serait drole quelques minutes mais nous on a pas trop envie pour le coup et on voudrais disposer d'un minimum de sécurité, pour toutes nos pages dont les routes seront préfixées de "admin/".
La documentation de Symfony2 est assez claire sur le sujet mais il manque quand même un exemple selon moi. Donc voici un exemple très simple qui laisse supposer que vous disposez déja des routes élémentaires que sont les login (qui doit pointer vers un controller), login_check et logout (qui doivent juste êtres définies).
Bien sur il ne s'agit que d'une base rapide avec un mot de passe en clair mais dans un premier temps ca peut vous protéger un peu.
jms_security_extra: secure_all_services: false expressions: true security: encoders: Symfony\Component\Security\Core\User\User: plaintext role_hierarchy: ROLE_ADMIN: ROLE_USER providers: in_memory: memory: users: admin: { password: 'password', roles: [ 'ROLE_ADMIN' ] } firewalls: main: pattern: /.* form_login: check_path: /login_check login_path: /login logout: path: /logout target: / anonymous: ~ access_control: - { path: ^/admin.*, role: ROLE_ADMIN }
Retour a la liste