我正在使用 GlassFish 的身份验证机制开发 JavaEE 7 应用程序。为了注册我们的用户,我们希望有一个简单的注册表单,它会生成带有链接的电子邮件。单击该链接后,我们希望用户能够登录并填写他的用户资料。我的问题是:单击链接时,我们无法访问用户密码(明文),这当然是正确的。现在我们想在没有密码的情况下登录用户,这可以用 glassfish 编程吗?还是我们必须修改我们的安全领域(JDBC 领域的修改版本)?
“忘记密码”机制具有完全相同的要求。
我正在使用 GlassFish 的身份验证机制开发 JavaEE 7 应用程序。为了注册我们的用户,我们希望有一个简单的注册表单,它会生成带有链接的电子邮件。单击该链接后,我们希望用户能够登录并填写他的用户资料。我的问题是:单击链接时,我们无法访问用户密码(明文),这当然是正确的。现在我们想在没有密码的情况下登录用户,这可以用 glassfish 编程吗?还是我们必须修改我们的安全领域(JDBC 领域的修改版本)?
“忘记密码”机制具有完全相同的要求。
对于您的具体要求,我的建议如下:
请注意,领域应该能够区分“正常”登录和来自链接 servlet 的登录。您可以通过使用 UUID 或基于空密码来执行此操作。
但是,确认链接通常不意味着注册过程的最后一步,您可能会修改底层数据源以激活用户并禁止链接进一步访问?
在这种情况下,您的 servlet 可能应该直接使用 EJB、JPA 或其他任何东西修改数据源,告诉用户他们的帐户已启用并将它们发送到登录表单。