3
내 사용자를 관리하기 위해 FOSUserBundle을 사용하고 내 웹 사이트를 관리하기 위해 SonataAdminBundle을 사용하고 있습니다 ... 어떤 사용자에게도 암호를 변경/추가하려고하면 암호가 암호화되지 않습니다. sha512
하지만 사용자가 fosuserbundle 등록 페이지에 등록하면 ...Symfony2 SonataAdminBundle 암호 필드 암호화
따라서 fosuserbundle 구성도 Symfony2 구성에도 문제가 없으므로 어딘가에 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