7

我正在使用 Java EE 6 Web Profile 开发一个 Web 应用程序。我想通过电子邮件向新用户发送其帐户的激活链接。我应该如何实现这个?我正在使用 JSF2。是否有任何规范或推荐的方法来做到这一点?

4

2 回答 2

16

我从事过一个项目,该项目要求用户确认他的电子邮件 ID 以激活他的注册。密钥生成过程是这样的:

密钥创建

  1. verification_keyusers表中创建一个包含用户唯一验证键的列。
  2. 使用您的唯一用户名(在本例中为电子邮件 ID)的SHA256哈希值,并使用 salt 作为密码。
  3. 将哈希转换为base64并存储在verification_key该用户中。这将是独一无二的(出于实际目的,我不会讨论碰撞的可能性)。

所以,底线,key = Base64(Hash256(uniqueUserName+"."+password))

……

旁注:顺便说一句,没有什么限制您使用密码作为盐。您可以只创建一个任意字符串作为盐。

确认

  1. 由于我们知道它verification_key是唯一的,因此key从请求参数中获取并找到匹配的行。
  2. 如果找到,设置verification_keynull(如果有的话,这也将减少碰撞的机会)并将用户带到“成功验证的页面”。
  3. 如果未找到,则将用户带到“已激活/未找到密钥/401 页面”。
于 2011-02-02T07:17:15.320 回答
1

激活 URL 唤起软件服务处理“服务”请求的印象。

实现此服务的良好候选者包括 servlet,它将执行用户激活/验证并重定向到 JSF 成功页面

于 2011-02-02T06:51:06.123 回答