symfony - FOSUserBundle 无需密码注册

标签 symfony registration fosuserbundle

我正在创建一个应用程序,访问者可以在其中上传一些东西(仅限受邀者)。最后,如果他们未登录,则会要求他们登录或创建用户。如果他们创建了一个新用户,我只想让他们填写他们的姓名和电子邮件。

将生成一个密码,并向用户发送一封邮件,其中包含更改密码的链接(如果他们愿意的话)(只是为了使程序尽可能低级)。

我似乎无法从注册表中删除密码字段。有人可以帮我吗。我创建了一个自定义表单类型、服务并注册了它。我还将自定义模板放在 app/Resource 文件夹等中。虽然我的自定义表单类型和模板正在使用,但密码仍然出现......

class RegistrationFormType extends BaseType {

  public function buildForm(FormBuilderInterface $builder, array $options) {
    parent::buildForm($builder, $options);

    // add your custom field
    $builder->add('username');
    $builder->add('email');
  }

  public function getName() {
    return 'val_user_registration';
  }

}

最佳答案

你不需要扩展你的父表单......在这种情况下你最好不要这样做。

只需创建一个用户名/电子邮件表单,然后自己在 中创建新的用户实体。自定义注册方式然后将其持久化到数据库中(不要忘记在新创建的 User 上设置 usernameCanonical 属性)。

FOSUserBundle 在注册过程中调用了几个与密码相关的东西,在这种情况下,您不需要也不能轻易规避这些东西。

您可以将实体(使用新创建的密码)传递给 更新方法 FOSUserBundle 的 用户管理器 完成密码/电子邮件步骤后的服务。

关于symfony - FOSUserBundle 无需密码注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16769477/

相关文章:

mysql - Symfony Doctrine 加入和查询

javascript - 将密码从 PHP 复制到 JS

php - 创建注册和登录页面

ruby-on-rails - rails 扩展设备注册表

php - FOSuserBundle 和 php 5.5

php - 刮 Goutte 并等待满载

python - SimpleITK:应用逆变换

javascript - 如何访问我的新 Symfony API

php - Symfony2 AJAX 登录

php - 向 symfony 添加外部库