小编jfo*_*cha的帖子

使用SonataAdminBundle编辑特定用户时,请避免使用空密码字段

当我想从后端编辑现有用户时(使用SonataAdminBundle和FOSUserBundle),我遇到了问题.在我的UserAdmin类的configureFormFields方法中,密码字段显示为空,当我需要编辑保持相同用户密码的其他字段(例如lastname)时,这是一个问题.必须再次填写此字段(和密码验证字段)!(我不想修改用户密码)

在我的UserAdmin类中,我有:

public function configureFormFields(FormMapper $formMapper)
{
        $formMapper
            ->with('User Data')
                ->add('username')

                ->add('plainPassword', 'repeated', array(
                'type' => 'password',
                'options' => array('translation_domain' => 'FOSUserBundle'),
                'first_options' => array('label' => 'form.password'),
                'second_options' => array('label' => 'form.password_confirmation'),
                'invalid_message' => 'fos_user.password.mismatch',
                )) 

                ->add('firstname')
                ->add('lastname')
                ->add('email')
                ->add('user_roles')
                ->add('enabled', 'checkbox', array(
                      'label'     => 'Enable Account',
                      'required'  => false,
                ))
            ->end()
        ;
}
Run Code Online (Sandbox Code Playgroud)

我尝试在UserAdmin类中覆盖prePersist和preUpdate方法,但这些方法不起作用.根据FOS标准(使用salt和sha512)在数据库中输入密码.

有解决方案吗 非常感谢!

backend symfony sonata-admin

6
推荐指数
1
解决办法
5098
查看次数

标签 统计

backend ×1

sonata-admin ×1

symfony ×1