【发布时间】:2014-12-22 21:14:18
【问题描述】:
我有一个 Symfony 2 项目,它使用 FOSUserBundle 进行用户管理。我的网络应用程序目前有一个允许私人群组的简单系统。我正在添加基于组所有者在我的 Web 应用程序中输入的用户电子邮件向我的 Web 应用程序发送电子邮件邀请的功能。
系统运行良好,但是当新用户注册帐户并且不使用群组所有者提供的相同电子邮件地址时会出现问题。这通常需要我跳入系统并手动将用户添加到组中(每 200 个用户大约会出现 2 打案例)。
我想在我将要添加的新电子邮件通知中添加一个邀请 URL。我想将注册路由修改为以下内容: /注册/{电子邮件地址} 然后更新我的 register_content.html.twig 模板以填充电子邮件字段。
我不确定最简单的方法是什么。我开始考虑制作控制器的副本并通过这种方式传递我的参数,但看起来创建新的事件侦听器可能不太好。
我的谷歌搜索没有发现任何有用的信息。我希望有人能指出我处理这个问题的理想方法吗?
谢谢!
【问题讨论】:
-
只是好奇,你为什么让他们在邀请已经发送后更改他们的电子邮件地址?
-
@JasonRoman 邀请目前仅在网络应用程序中创建。如果该电子邮件与用户记录不对应,那么我将使用上述 URL 发送一封电子邮件以创建一个新帐户。
-
为什么不创建一个存储邀请的表,其中包含一个随机生成的哈希值,该哈希值还存储电子邮件地址。这样,如果用户单击带有哈希的邀请,他们甚至不必输入他们的电子邮件地址,因为您已经存储了它?或者这就是你想要做的?
-
@JasonRoman 我可以做到。但是我仍然需要通过 URL 传递哈希值,我发现自己想知道为这条新数据修改 URL 的最佳方法是什么(关于 FOSUserBundle 最佳实践)
-
您如何像平常一样创建注册表单但删除
username/email字段,然后在提交表单时,从数据库邀请表中获取它(通过哈希)并将其设置在那里?
标签: symfony fosuserbundle