每天我都需要向我的用户发送电子邮件,其中包含他们可能在我的新闻网站上感兴趣的文章的链接。链接示例:<a href="http://example.com/article/5/some-seo-title>title of article </a>
我将有关用户的数据保存在我的user
表中:id
、username
、email
...
当用户点击我发送给他的邮件中的某个链接时,我希望他自动登录。
为了实现这一目标,必须做些什么?我不是在要求完整的代码,而是要求更多关于必须完成的一般步骤的指南,也许还有一些代码示例,您不必编写所有代码......
我正在使用,php,mysql,yii2,bootstrap 3
谢谢
我可能会建议在创建创建为长哈希的链接时生成的登录令牌(最好仅一次性使用)(请参阅 sha256/sha512/GUID)。如果需要,您还可以(并且应该)为这些令牌添加有效期,以确保有人不会重复使用它们并在登录或注销该会话时使它们无效。由于您可能有多个令牌,因此请为每个用户提供一个有效令牌列表,尽管实现取决于数据库类型和/或规范化级别。
我不建议。
相反,如果他们未登录,请重定向回登录名,并将请求的 URL 存储在会话中。然后,当他们登录时,再次将他们定向到该 URL。