【问题标题】:Email verification in Play! 2.0Play 中的电子邮件验证! 2.0
【发布时间】:2013-02-18 08:09:24
【问题描述】:

用户在我的网站上注册后,我需要实施一个电子邮件验证机制。

我试图了解什么是最好的架构,这是我的猜测:

  • 定义电子邮件验证的特殊路径
  • 当用户注册时生成一个令牌并使用令牌保存在缓存中 -> 用户映射。
  • 发送包含 URL 的电子邮件,该 URL 指向提供令牌作为参数的路由
  • 在特殊路由控制器中,使用令牌从缓存中检索用户,验证电子邮件并将其存储在数据库中。

我的方法对吗?有更好的解决方案吗?

【问题讨论】:

  • 听起来不错。但是你不应该仅仅依靠缓存来持久化令牌 - 也将它存储在数据库中。此外,之后可能会删除令牌(并且无论如何都会在某个时候过期?)。
  • 如何处理过期问题?
  • 在创建时将当前时间戳与令牌一起存储在数据库中,然后在激活验证例程时检查它是否太旧。 (如果需要考虑数据库空间,您还可以定期运行作业以清理任何旧令牌。)
  • 仅供参考:完整堆栈身份验证模块可用于 Play 2.0。它允许通过电子邮件验证、密码恢复、使用 3 rd 方服务登录等注册新帐户。此外,还包括Deadbolt 2 的角色和权限,是多语言且完全可定制的。见:joscha.github.com/play-authenticate

标签: scala playframework playframework-2.0


【解决方案1】:

有一些模块可以为 Play 2.x 提供此功能。您可能想看看Secure SocialPlay Authenticate(如@biesior 对问题的评论中所述)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2013-07-31
    • 2018-10-06
    • 2016-08-02
    • 2012-10-04
    相关资源
    最近更新 更多