У меня есть FOSUserBundle для управления моими пользователями и SonataAdminBundle для управления моим сайтом ... У меня есть проблема, когда я пытаюсь изменить/добавить пароль для любого пользователя, пароль не закодирован в sha512
, но это происходит, когда пользователь регистрируется на странице регистрации fosuserbundle ...Symfony2 SonataAdminBundle Шифрование пароля пароля
Таким образом, нет проблем с конфигурацией Symfony2, ни с конфигурацией fosuserbundle, она может находиться внутри SonataAdminBundle где-то, а может быть, в моем классе администратора. .
<?php
// src/Acme/DemoBundle/Admin/PostAdmin.php
namespace Web\DificilBundle\Admin;
use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Web;
class UserAdmin extends Admin
{
// Fields to be shown on create/edit forms
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('firstname')
->add('lastname')
->add('username')
->add('email')
->add('password', 'password') // -> I WANT THIS TO BE ENCODED INTO SHA512!
->add('roles','choice',array('choices'=>$this->getConfigurationPool()->getContainer()->getParameter('security.role_hierarchy.roles'),'multiple'=>true));
//->add('body')
;
}
// Fields to be shown on filter forms
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('firstname')
->add('lastname')
->add('username')
->add('email')
->add('password')
;
}
// Fields to be shown on lists
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('firstname')
->add('lastname')
->add('username')
->add('password')
->add('email')
->add('facebookid')
->add('roles');
//->add('password', 'password')
;
}
}
же (включая решение ниже) относится пожаловать в Symfony3 – Bananaapple