Symfony2.1 + sonata-admin + sonata-user +fos-userbundle [FR]
Salut à vous, aujourd’hui nous allons voir comment installer Symfony2.1 et les bundles suivants:
- FOSUserBundle
- SonataAdminBundle
- SonataUserBundle
La première étape est bien entendu la création du projet à l’aide de la commande suivante:
composer create-project symfony/framework-standard-edition sonataadmin.fr
Éditez le fichier composer.json pour y rajouter les bundles suivants :
"sonata-project/admin-bundle": "dev-master", "friendsofsymfony/user-bundle": "dev-master", "sonata-project/user-bundle": "dev-master", "sonata-project/doctrine-orm-admin-bundle": "dev-master"
Mettez à jour votre fichier AppKernel.php avec les bundles suivants :
new FOS\UserBundle\FOSUserBundle(), new Sonata\jQueryBundle\SonatajQueryBundle(), new Sonata\AdminBundle\SonataAdminBundle(), new Sonata\BlockBundle\SonataBlockBundle(), new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(), new Knp\Bundle\MenuBundle\KnpMenuBundle(), new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'), new Sonata\EasyExtendsBundle\SonataEasyExtendsBundle(),
Modifier votre fichier config.yml afin d’activer la traduction
framework: #esi: ~ translator: { fallback: "%locale%" } secret: "%secret%"
Dans votre fichier config.yml rajoutez le contenu suivant:
fos_user: db_driver: orm firewall_name: main user_class: Application\Sonata\UserBundle\Entity\User sonata_block: default_contexts: [cms] blocks: sonata.admin.block.admin_list: contexts: [admin] #sonata.admin_doctrine_orm.block.audit: # contexts: [admin] sonata.block.service.text: sonata.block.service.action: sonata.block.service.rss: # Some specific block from the SonataMediaBundle #sonata.media.block.media: #sonata.media.block.gallery: #sonata.media.block.feature_media: sonata_admin: title: Admin Panel title_logo: /bundles/sonataadmin/logo_title.png templates: # default global templates layout: SonataAdminBundle::standard_layout.html.twig ajax: SonataAdminBundle::ajax_layout.html.twig # default actions templates, should extend a global templates list: SonataAdminBundle:CRUD:list.html.twig show: SonataAdminBundle:CRUD:show.html.twig edit: SonataAdminBundle:CRUD:edit.html.twig dashboard: blocks: # display a dashboard block - { position: left, type: sonata.admin.block.admin_list } sonata_doctrine_orm_admin: # default value is null, so doctrine uses the value defined in the configuration entity_manager: ~ templates: form: - SonataDoctrineORMAdminBundle:Form:form_admin_fields.html.twig filter: - SonataDoctrineORMAdminBundle:Form:filter_admin_fields.html.twig types: list: array: SonataAdminBundle:CRUD:list_array.html.twig boolean: SonataAdminBundle:CRUD:list_boolean.html.twig date: SonataAdminBundle:CRUD:list_date.html.twig time: SonataAdminBundle:CRUD:list_time.html.twig datetime: SonataAdminBundle:CRUD:list_datetime.html.twig text: SonataAdminBundle:CRUD:base_list_field.html.twig trans: SonataAdminBundle:CRUD:list_trans.html.twig string: SonataAdminBundle:CRUD:base_list_field.html.twig smallint: SonataAdminBundle:CRUD:base_list_field.html.twig bigint: SonataAdminBundle:CRUD:base_list_field.html.twig integer: SonataAdminBundle:CRUD:base_list_field.html.twig decimal: SonataAdminBundle:CRUD:base_list_field.html.twig identifier: SonataAdminBundle:CRUD:base_list_field.html.twig show: array: SonataAdminBundle:CRUD:show_array.html.twig boolean: SonataAdminBundle:CRUD:show_boolean.html.twig date: SonataAdminBundle:CRUD:show_date.html.twig time: SonataAdminBundle:CRUD:show_time.html.twig datetime: SonataAdminBundle:CRUD:show_datetime.html.twig text: SonataAdminBundle:CRUD:base_show_field.html.twig trans: SonataAdminBundle:CRUD:show_trans.html.twig string: SonataAdminBundle:CRUD:base_show_field.html.twig smallint: SonataAdminBundle:CRUD:base_show_field.html.twig bigint: SonataAdminBundle:CRUD:base_show_field.html.twig integer: SonataAdminBundle:CRUD:base_show_field.html.twig decimal: SonataAdminBundle:CRUD:base_show_field.html.twig
Ensuite au tour du security.yml:
security: encoders: FOS\UserBundle\Model\UserInterface: sha512 role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_SONATA_ADMIN, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] SONATA: - ROLE_SONATA_PAGE_ADMIN_PAGE_EDIT # if you are not using acl then this line must be uncommented providers: fos_userbundle: id: fos_user.user_manager firewalls: # -> custom firewall for the admin area of the URL admin: pattern: /admin(.*) form_login: provider: fos_userbundle login_path: /admin/login use_forward: false check_path: /admin/login_check failure_path: null logout: path: /admin/logout anonymous: true # -> end custom configuration # defaut login area for standard users main: pattern: .* form_login: provider: fos_userbundle login_path: /login use_forward: false check_path: /login_check failure_path: null logout: true anonymous: true access_control: # URL of FOSUserBundle which need to be available to anonymous users - { path: ^/_wdt, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/_profiler, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } # -> custom access control for the admin area of the URL - { path: ^/admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/admin/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/admin/login-check$, role: IS_AUTHENTICATED_ANONYMOUSLY } # -> end - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } # Secured part of the site # This config requires being logged for the whole site and having the admin role for the admin part. # Change these rules to adapt them to your needs - { path: ^/admin, role: [ROLE_ADMIN, ROLE_SONATA_ADMIN] } - { path: ^/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
A l’aide de la commande suivante : app/console sonata:easy-extends:generate SonataUserBundle
nous allons généré la partie admin pour les utilisateurs. Le code généré se trouve dans le dossier app, déplacez le dans le dossier src.
Une fois fait, ajoutez le nouveau bundle dans le fichier AppKernel.php.
new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
Mettez alors a jour les deux entités avec les annotations @ORM.
<?php namespace Application\Sonata\UserBundle\Entity; use Sonata\UserBundle\Entity\BaseGroup as BaseGroup; use Doctrine\ORM\Mapping as ORM; /** * This file has been generated by the Sonata EasyExtends bundle ( http://sonata-project.org/easy-extends ) * * References : * working with object : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/working-with-objects/en * * @ORM\Entity * @ORM\Table(name="group") */ class Group extends BaseGroup { /** * @var integer $id * * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * Get id * * @return integer $id */ public function getId() { return $this->id; } }
<?php namespace Application\Sonata\UserBundle\Entity; use Sonata\UserBundle\Entity\BaseUser as BaseUser; use Doctrine\ORM\Mapping as ORM; /** * This file has been generated by the Sonata EasyExtends bundle ( http://sonata-project.org/easy-extends ) * * References : * working with object : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/working-with-objects/en * * @ORM\Entity * @ORM\Table(name="dayo_user") */ class User extends BaseUser { /** * @var integer $id * * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * Get id * * @return integer $id */ public function getId() { return $this->id; } }
Nous devons ensuite ajouter le support du json a doctrine avec le code suivant dans le fichier config.yml.
doctrine: dbal: //... types: json: Sonata\Doctrine\Types\JsonType
Une fois fait, il nous faut créé ou mettre à jour la base données. En fonction de votre besoin, utilisez l’une ou l’autre de ces commandes:
app/console doctrine:schema:create pour la création
app/console doctrine:schema:update --force
pour la mise à jour
S’en suis l’installation des assets avec app/console assets:install web
Afin de pouvoir accéder à notre espace admin il faut importer les routes dans le fichier routing.yml
fos_user_security: resource: "@FOSUserBundle/Resources/config/routing/security.xml" fos_user_profile: resource: "@FOSUserBundle/Resources/config/routing/profile.xml" prefix: /profile fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /register fos_user_resetting: resource: "@FOSUserBundle/Resources/config/routing/resetting.xml" prefix: /resetting fos_user_change_password: resource: "@FOSUserBundle/Resources/config/routing/change_password.xml" prefix: /change-password soanata_user: resource: '@SonataUserBundle/Resources/config/routing/admin_security.xml' prefix: /admin admin: resource: '@SonataAdminBundle/Resources/config/routing/sonata_admin.xml' prefix: /admin _sonata_admin: resource: . type: sonata_admin prefix: /admin # error-prevention homepage: pattern: /
Dernière étape, la création du premier utilisateur avec la commande suivante:
app/console fos:user:create admintest admin@test.com pass --super-admin
Rendez-vous alors sur http://sonataadmin.fr.dev/admin/dashboard puis connectez-vous avec l’utilisateur précédemment créé. Vous devriez alors avoir le dashboard suivant :
Dans un prochain article, nous verrons comment ajouter des éléments au générateur.
P.S. un dépôt github est disponible a l’adresse suivante : https://github.com/dayofr/sonataadmin.fr
44 réflexions sur « Symfony2.1 + sonata-admin + sonata-user +fos-userbundle [FR] »
Salut, merci pour l’article, par contre le style des Gist est très assez pâle et pas super lisible.
++ COil 🙂
Salut, effectivement pour les fichiers yml c’est vraiment dur, je vais chercher un autre plugin plus lisible
please write in english
Hi, I plan on making this post in English next week.
i think if you just follow the configurations, commands and the routing you dont need to read other text. also there is a sonata sandbox pre configured by sonata team inluding almost all big sonata bundles including most popular FOSUserBundle. i will recommend you try it. you can remove bundles an config you dont want quite easily
Bonsoir,
J’ai suivi votre post à la lettre 🙂 mais j’ai cependant un soucis.
J’arrive à accéder à l’url mon_host/web/app_dev.php/admin/dashboard, après connexion cependant j’ai toujours un soucis pour ajouter un user, ou un group.
Fatal error: Call to a member function setLenient() on a non-object in ….vendor\symfony\symfony\src\Symfony\Component\Form\Extension\Core\Type\DateType.php on line 80
Cette erreur est presente quand l’extension intl est activée sur mon serveur
Et quand cette extension n’est pas activée j’ai cette erreur :
Fatal error: Class ‘ResourceBundle’ not found in …\vendor\symfony\symfony\src\Symfony\Component\Locale\Locale.php on line 157
Avez vous déjà rencontré ce souci ?
Merci par avance
Bonjour,
J’ai regardé le fichier DateType.php, à la ligne 80 il y a un appel à une méthode sur une instance d’un objet de type IntlDateFormatter, il semblerais que cette objet n’existe que si la version de php est supérieur a 5.3.0 et intl supérieur a 1.0.0 qu’elles sont vos versions de php et intl?
Est-ce que dans votre php.ini la directive date.timezone est défini ? date.timezone = « Europe/Paris » par exemple.
Bonsoir,
J’ai exécuter la commande : php app/check.php pour vérifier l’installation de mon serveur
OK PHP version must be at least 5.3.3 (5.3.10 installed)
cependant il semblerait que malgré l’activation de l’extension dans php.ini
;extension=php_gmp.dll
extension=php_intl.dll ; ligne dé commentée
WARNING intl extension should be available
Install and enable the intl extension (used for validators).
Symfony ne le prenne pas comme activé… je vais donc regarder de ce côté la et je vous tiens au courant.
Mais si vous pensez à autre chose, je suis preneur
Merci beaucoup
Alors c’est un peu bizarre j’ai refait des modifications dans php.ini avec une nouvelle install de wamp,
php app/check.php ne détecte toujours pas l’extension intl cependant l’erreur a changé
J’ai à présent :
Warning: IntlDateFormatter::format() [intldateformatter.format]: datefmt_format: takes either an array or an integer timestamp value or a DateTime object in E:\Developpement\www\sf25\vendor\symfony\symfony\src\Symfony\Component\Form\Extension\Core\Type\DateType.php line 269
500 Internal Server Error – ErrorException
Toujours un problème de intl 🙁
Une information ?
Salut !
En fait, quand le php.ini utilisé par php en ligne de commande est un fichier différent du php.ini utilisé par Apache. Du coup, si tu visites /web/config.php ou si tu fais php app/check.php, tu peux très bien avoir des résultats différents. En l’occurence, il semble que tu as activé phpintl pour l’un mais pas pour l’autre.
Sinon, pour résoudre ton erreur 500, je suppose qu’il te suffit de :
1/ ajouter « sonata-project/intl-bundle »: « dev-master » à ton composer.json
2/ composer.phar update
3/ charger SonataIntlBundle dans AppKernel.php : new Sonata\IntlBundle\SonataIntlBundle(),
Bonjour,
Désolé pour le retard de réponse
Merci pour tes explications, j’ai effectivement fini par trouvé, et c’était bien un problème de configuration d’apache 🙂
Merci en tout cas
Et.. peux-tu nous dire ce que tu as modifié dans Apache pour corriger ce point ?
salut ! j’aurais aimer voir cette solution moi aussi !
car je suis bloqué au même point :
Warning: IntlDateFormatter::format(): datefmt_format: takes either an array or an integer timestamp value or a DateTime object
re-bonsoir ! alors j’ai activé le module apache « authn_dbm » pour éviter l’erreur à la création d’utilisateur par le dashboard
par contre j’ai un autre probleme, c’est pour afficher le profil de l’utilisateur :
"Warning: nl2br() expects parameter 1 to be string, object given in /home/cedric/workspace/jamonce/app/cache/dev/twig/72/4e/dcec6119a36ca779584f76a7796f.php line 45") in "SonataAdminBundle:CRUD:show.html.twig"
je repart donc en quête demain. 3h dodo
Salut j’ai le même soucis à tu trouvé une solution ?
Bonjour,
Après la seconde étape où nous devons ajouter les lignes au fichier composer.json, je fais un « php composer update » (qui n’est pas indiqué dans ton tuto). Malheureusement, j’ai un tas d’erreurs. L’update ne se fait pas.
Désolé pour le pavé mais voici le résultat de la commande :
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
– Installation request for sonata-project/admin-bundle dev-master -> satisfiable by sonata-project/admin-bundle dev-master.
– sonata-project/admin-bundle dev-master requires sonata-project/block-bundle 2.2.*@dev -> no matching package found.
Problem 2
– Installation request for sonata-project/doctrine-orm-admin-bundle dev-master -> satisfiable by sonata-project/doctrine-orm-admin-bundle dev-master.
– sonata-project/doctrine-orm-admin-bundle dev-master requires sonata-project/block-bundle 2.2.*@dev -> no matching package found.
Problem 3
– sonata-project/admin-bundle 2.2.x-dev requires sonata-project/block-bundle 2.2.*@dev -> no matching package found.
– sonata-project/user-bundle dev-master requires sonata-project/admin-bundle >=2.2-dev, satisfiable by sonata-project/admin-bundle 2.2.x-dev.
– Installation request for sonata-project/user-bundle dev-master -> satisfiable by sonata-project/user-bundle dev-master.
Potential causes:
– A typo in the package name
– The package is not available in a stable-enough version according to your minimum-stability setting
see for more details.
Read for further common problems.
Comment puis-je y remédier ?
Je suis novice sur l’installation de bundles, il y a peut-être quelque-chose qui m’a échappé.
Merci d’avance.
Essaie avec ce composer.json : https://gist.github.com/vhf/5208750
Merci de ta réponse.
Les bundles se sont très bien installés. 🙂
Bonjour,
Me revoici avec un nouveau problème. J’espère que le temps perdu à installer ces bundles me feront gagner du temps sur le développement 🙂
Maintenant que j’ai modifié les fichiers de config et de sécurité, j’ai exécuté la commande « $ php app/console sonata:easy-extends:generate SonataUserBundle ». Voici l’erreur qui m’est retournée :
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
Unrecognized options « fragments » under « framework »
J’ai vu que l’erreur pouvait venir soit du config.yml soit du UPGRADE-2.2.md. Je ne sais pas comment marche la commande exécutée …
Qui saurait m’éclairer ?
Merci.
Bonjour yoyocm,
J’ai exactement le même problème que toi … As tu pu le résoudre ? Si oui comment ? Merci par avance ! 😀
Bonjour guizme555,
J’ai supprimé la ligne dans config.yml (il me semble que c’est ce fichier) qui définit « fragment » et ça passe 😉
Concernant les conséquences de cette suppression, je ne sais pas du tout ce que ça donne.
Hello,
Bon je n’ai pas eu besoin de supprimer quoique ce soit. J’ai tout repris proprement depuis le début, bataillé avec mon fichier composer.json (afin d’être sur la version 2.2 de symfony) et c’est désormais OK. Au besoin, je peux te le donner. Merci pour ta réponse en tout cas !
Bonjour, j’ai un soucis, après avoir suivi la procédure d’installation je suis tombé sur l’erreur:
ParameterNotFoundException: You have requested a non-existent parameter « twig.form.resources ».
in C:\wamp\www\GenericTesting\vendor\symfony\symfony\src\Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.php line 96
at ParameterBag->get(‘twig.form.resources’) in C:\wamp\www\GenericTesting\app\bootstrap.php.cache line 151
at Container->getParameter(‘twig.form.resources’) in C:\wamp\www\GenericTesting\vendor\sonata-project\user-bundle\Sonata\UserBundle\DependencyInjection\SonataUserExtension.php line 60
at SonataUserExtension->load(array(array()), object(ContainerBuilder)) in C:\wamp\www\GenericTesting\vendor\symfony\symfony\src\Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass.php line 42
at MergeExtensionConfigurationPass->process(object(ContainerBuilder)) in C:\wamp\www\GenericTesting\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass.php line 39
at MergeExtensionConfigurationPass->process(object(ContainerBuilder)) in C:\wamp\www\GenericTesting\vendor\symfony\symfony\src\Symfony\Component\DependencyInjection\Compiler\Compiler.php line 119
at Compiler->compile(object(ContainerBuilder)) in C:\wamp\www\GenericTesting\vendor\symfony\symfony\src\Symfony\Component\DependencyInjection\ContainerBuilder.php line 458
at ContainerBuilder->compile() in C:\wamp\www\GenericTesting\app\bootstrap.php.cache line 952
at Kernel->buildContainer() in C:\wamp\www\GenericTesting\app\bootstrap.php.cache line 861
at Kernel->initializeContainer() in C:\wamp\www\GenericTesting\app\bootstrap.php.cache line 573
at Kernel->boot() in C:\wamp\www\GenericTesting\app\bootstrap.php.cache line 616
at Kernel->handle(object(Request)) in C:\wamp\www\GenericTesting\web\app_dev.php line 26
j’ai essayé de remplir dans le parameter.yml mais je ne sais pas quel valeur mettre… cela fait deux jour que j’ai le problème…
twig.form.resources: []
pourriez vous m’aider?
Salut, si dans configuration.yml tu définit
twig.form.resources: []
est-ce que ça résout ton problème ?
J’interprète peut-être mal l’exception retournée, mais à mon avis il signifie que le paramètre de config n’existe simplement pas, et qu’il faut donc le supprimer.
j’ai un probleme pour l’ajout d’un user
FatalErrorException: Error: Class ‘ResourceBundle’ not found in C:\wamp\www\ProjetFinEtudes\paploc.tn\vendor\symfony\symfony\src\Symfony\Component\Locale\Locale.php line 159
Même problème pour moi 🙁
En fait, j’ai résolu le problème grâce aux posts de Morgan.
Il faut installé l’extension PHP intl.
Sur Debian ou Ubuntu il suffit d’entrer la commande : sudo apt-get install php5-intl
Et apparemment il faut aussi que la version de PHP soit supérieure à 5.3 (mais c’était déjà le cas pour mois)
Salut, tout d’abord merci pour ce tuto, intérréssant et très bien conçu.
Mon problème arrive à la fin du tutorial, je tape mon url/admin/dashboard mais j’obtiens une erreur 404, pourtant quand je fais « app/console router:debug » ma route existe :
sonata_admin_dashboard ANY /admin/dashboard
Aurait tu une idée ?
Bon, c’est corrigé en fait il n’y a aucun problème, il faut juste ne pas oublier de passer par app_dev.php/admin/dashboard, une petite précision dans le tuto serait pas de trop vu que sur le screen ça porte à confusion.
Merci encore pour ce tuto
Bonjour désolé pour le temps de réponse mais non j’ai déja essayé en mettant un paramètre vide et cela ne marche pas. Je suis sur un autre sujet mais je te retourne l’erreur des que je me remets dessus. il me sortais un truc du genre: not able to find fields.html.twig. ou un autre fichier de template qu’il n’arrivait pas à trouver…
ah oui et quand je défini un parametre dans twig.resources il y a quand même un bug come quoi il y a un problème de template… C’est assez étrange
Merci beaucoup pour ce tuto, après avoir galéré pour installer l’extension php_intl (j’avais zappé qu’il y avait 2 php.ini), l’installation de Sonata s’est faite sans trop de soucis !!
Bye 😉
Tout abord Merci Beaucoup pour ce tuto qui m’a été très utile,
Je voulais savoir si c’était possible de faire un CRUD (Create, Read, Update, Delete) pour administrer les Rôle?
Merci
Salut,
Je viens de mettre à jour mon dépot GitHub avec Symfony 2.3 et la dernière version de sonata.
Lors de mes tests j’ai vu que les rôles d’un utilisateur sont modifiable depuis l’interface.
Si tu rajouter un nouveau rôle, il faut par contre le rajouter dans ton fichier config.yml.
Bonjour ! Tout d’abord merci pour ton tuto, ça a fonctionner nickel même en dernière version.
Après juste pour savoir si tu as fais quelque chose du genre, normalement comme on utilise Sonata-User on doit pouvoir accéder à la page [app_dev.php/]login.php. De base cette dernière est hideuse, as-tu réussi à changer son template ? Si oui peux-tu me donner des pistes ? merci bien !
Soit tu as oublié de `app/console assets:install web`, soit tu devrais plutôt faire un log-out puis te rendre sur /admin/login pour voir le template utilisé.
Comme Victor, je pense que tu as oublié de déployer les assets. Si tu ne trouves pas le layout de base a ton gout, tu peux toujours le surcharger en suivant ce cookbook: http://symfony.com/fr/doc/current/cookbook/bundles/inheritance.html#surcharger-des-ressources-templates-routage-validation-etc
A propos du bug « Warning: IntlDateFormatter::format(): datefmt_format: takes either an array or an integer timestamp value or a DateTime object ».
Si l’extension est activé, et que le problème persiste alors le problème vient du fait que une version 32bits de PHP est utilisé.
Du coup, impossible d’utiliser une date antérieur à 1901. Or Symfony2, par défaut, calcul une date, 120ans avant la date d’aujourd’hui pour les champs de type « birthday » => d’où cette erreur quand on essaye d’ajouter (ou éditer) un utilisateur !
Quelques Solution(s) :
1) Passer en 64bits
2) Attendre ce patch (ou faire l’édition manuellement en attendant) : https://github.com/symfony/symfony/pull/9314
Hello, très bon tuto merci à toi, juste un petit truc lorsque je connecte mon admin sur mon site (front) et que je vais ensuite dans la partie admin (back) je suis obligé de m’identifier à nouveau via ton formulaire d’identification et je vois pas trop pourquoi.
Si tu pouvais juste m’expliquer vite fais ce que je dois regarder pour changer ça, je te remercie d’avance.
Salut,
Je pense que c’est du au fait qu’il y à 2 firewall de déclaré dans le fichier security.yml.
Regarde du coté de http://symfony.com/fr/doc/current/book/security.html#autorisation le bloc juste au dessus de la section autorisation. Je pense qu’il y a la réponse.
Dayo
Bonjour et merci pour ce tutoriel.
Toutefois , je rencontre un soucis au niveau de l’administration des rôles.
Je m’explique lors de l’édition/création d’un groupe par exemple , mon champ roles est juste composé d’un label en gras Roles ,
alors que dans mon fichier security.yml je possède bien des roles dans roles hiérarchy :
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_SONATA_ADMIN, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH, ROLE_DAYO]
SONATA:
– ROLE_SONATA_PAGE_ADMIN_PAGE_EDIT
Pourrais tu m’éclairer ? thanks
Seems cool, thanks for this tutorial (:
I have a issue while calling « app/console sonata:easy-extends:generate SonataUserBundle » :
ParameterNotFoundException: You have requested a non-existent parameter « templating.engines ».
Please I really need help.
I fixed this !
But I have another problem when I want to update a member I can’t go to Groups or Profile dongle (les onglet), comment y remédier ?
Super tuto (: