用FosUserBundle和SonataAdminBundle出现Roles和password无法update的问题

发布于 2022-09-01 12:51:26 字数 1843 浏览 37 评论 0

我刚学习symfony2使用的是最新的fosuserbundle2.0和sonataadminbundle,不使用sonatauserbundle。
现在通过官网配置已经可以用sonataadminbundle的dashboard创建和修改user这个entity。
user是继承fosuserbundle的,现在发现2个问题:
1、用dashboard创建新用户一切正常。但是update密码的时候,password的数据就不会更新了。
2、Roles无论在创建还是在update的时候都不会正确保存数据,永远都是空的。
下面是MyUserBundle\Admin\UserAdmin.php class UserAdmin extends Admin的代码

protected function configureFormFields(FormMapper $formMapper)
        {
            $formMapper
                ->add('email', 'email', array('label' => 'form.email', 'translation_domain' => 'FOSUserBundle'))
                ->add('username', null, array('label' => 'form.username', 'translation_domain' => 'FOSUserBundle'))
                ->add('name',null,array('label' => 'form.name', 'translation_domain' => 'FOSUserBundle'))
                ->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',
                    'required'    => false,
                    )
                )
                ->add('enabled', 'checkbox', array(
                    'label'     => 'Enable Account',
                    'translation_domain' => 'FOSUserBundle',
                    'required'  => false,
                ))
                ->add('roles','choice',array('choices'=>$this->getConfigurationPool()->getContainer()->getParameter('security.role_hierarchy.roles'),'multiple'=>true ));
            ;
        }
    有高人指点我一下吗?谢谢啦。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文