【发布时间】:2013-03-30 19:26:54
【问题描述】:
我想在 Zend Framework 2 中任意生成带有ZfcUser 的用户帐户,然后我可以使用激活链接或一些临时凭据通过电子邮件发送给用户。我不确定是否可以扩展 ZfcUser 以安全地执行此操作,因此我正在寻求帮助和建议。
我需要在我的推荐信功能申请中这样做。它由现有用户(以“正常”方式使用 ZfcUser 注册的人)通过提供该人的电子邮件地址来请求某人的推荐信来工作。那时,我想使用 ZfcUser 和给定的电子邮件生成一个帐户,并通知此人有人要求他们提供推荐信,他们应该登录并完成它。
我为每个信件请求提供了一个一次性使用链接,但我觉得为每封电子邮件和相关用户创建一个帐户更有意义,以便收到多个信件请求的人可以登录并在一个地方呈现他们的所有请求。我还认为将这些类型的用户帐户分离到我的数据库中的不同用户表中可能是明智的,或者至少将一个标志字段附加到我当前的用户表模式中。
我应该注意,我目前还在将 CdliTwoStageSignup 与 ZfcUser 结合使用。我也不一定需要为此使用它,但它在工具包中。
我认为ZfcUser 'state' flag 在这里可能很有用,但这并不是我要完成的任务中真正困难的部分。
我还在 Github 上的 ZfcUser wiki 中找到了另一个关于如何做到这一点的线索。
我正在寻求使用 ZfcUser 完成此任务的技术帮助,但我绝对愿意接受设计理念或总体改进。
【问题讨论】:
-
好吧,你的名字:这当然是可能的,但相当复杂,而且不容易做到。 “状态”标志在那里,但您也可以扩展用户实体。怎么做完全取决于你,但要“在 SO 上快速做”并不容易;)
-
一种更简单的方法是使用单独的表格,您可以通过电子邮件存储这些请求。然后,您只需向该电子邮件地址发送一封电子邮件,他们就可以正常注册。您将能够收到他们的所有请求,因为它们与同一电子邮件相关联。
-
谢谢@Sam。我知道这里有几个级别要经过,但我正在寻找更多关于如何解决这个问题的建议,而不是完整解决方案的代码。我现在会考虑扩展用户实体。
-
@AydinHassan 这是可能的 - 感谢您的建议。它可能比我想象的更实用。我想我正在考虑建立一个帐户,以便在创建所有请求时将它们关联起来,但我想这最终并不重要。当用户开始创建帐户时,我只需要查看请求表并找到所有待处理的请求。
标签: php authentication zend-framework2 zfcuser