我希望我的用户在能够登录之前激活他们的帐户。注册后他们会收到一封包含激活链接的电子邮件,如下所示:
http://www.blabla.com/activate.php?email=blabla@blabla.com&token=Aisd23uNMAu53932asdDasd82AS
当然,每当有人登录时,我都必须检查该用户是否激活了他/她的帐户。我可以想到 2 种方法来解决这个问题,要么在我的“用户”表中有一个额外的列,当用户像这样激活时,它被设置为空:
-----------------------------------------------
| id | username | password | activation_token |
-----------------------------------------------
| 1 | user1 | blabla | |
-----------------------------------------------
| 2 | user1 | blabla | asd232DA34qADJs2 |
-----------------------------------------------
然后,每当用户登录时,我都会提取activation_token 以及用户信息。或者我可以有一个仅包含激活令牌的单独表,然后每次用户登录时将其加入“用户”表:
--------------------------------------
| id | account_id | activation_token |
--------------------------------------
| 1 | 37 | dsad2428491dka98 |
--------------------------------------
| 2 | 2 | asd232DA34qADJs2 |
--------------------------------------
那么哪个最有效呢?谢谢你的时间。
编辑:感谢所有伟大的回应