当我想从后端编辑现有用户时(使用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)在数据库中输入密码.
有解决方案吗 非常感谢!